使用jQuery从标记字符串中获取一些文本

时间:2011-10-06 19:29:31

标签: c# javascript jquery asp.net html

我有以下标记:

<span>
Some text blalablalalbal<br/><br/>
"You are Awesome" <br/><br/>
----What can I do for you?<br/><br/>
</span>

现在我想隐藏第一行并修改最后一行。

如何使用jQuery获取这些文本?

注意:

1:存在多个类似代码块但具有不同文本的实例。所以我将无法进行硬编码。我想知道我是否可以用某种方式拆分它?

2:如果可以在C#中的服务器端代码中完成,那也没关系。

4 个答案:

答案 0 :(得分:3)

您可以使用textnodes进行something like this


<强>更新

var $nodes = $('span').contents().map(function(a,b){
    return (b.nodeType===3?b:null);
});

// hide first line
$($nodes.get(0)).wrap('<span style="display:none;" />');
$nodes.get(2).data = "foo";

Working example of what I mean

答案 1 :(得分:0)

CSS有:第一行和:最后一行修饰符。

尝试:

span:first-line {
  display: none;
}

使用jQuery with selector修改最后一行:

var content = $('span:last-line').html();
content += " - Modified";
$('span:last-line').html(content);

答案 2 :(得分:0)

您可以拆分换行符并修改数组:

var elm = $('span'),
    lines = elm.html().split('<br>');

lines.shift(); // removes the first
lines[lines.length-3] += '-modified'; // modify the last

elm.html(lines.join('<br>'));

答案 3 :(得分:0)

或者你可以将三条线放在三个不同的跨度中。 类似的东西:

<span>
<span id="sentence1">Some text blalablalalbal</span><br/><br/>
<span id="sentence2">"You are Awesome" </span><br/><br/>
<span id="sentence3">----What can I do for you?</span><br/><br/>
</span>

用jquery隐藏第一句话:

$("span#sentence1").hide();