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

本文关键字:抓取 文本 字符串 jQuery 使用 | 更新日期: 2023-09-27 18:10:41

我有以下标记:

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

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

我如何使用jQuery抓取这些文本?

注意:

1:有多个相似的代码块实例,但文本不同。所以我不能硬编码。我想知道我是否可以用
标签分割它?

2:如果可以在c#的服务器端代码中完成,那也很好。

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

您可以对textnode做这样的操作。


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";

CSS有:first-line和:last-line修饰符。

试题:

span:first-line {
  display: none;
}

使用jQuery与选择器修改最后一行:

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

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

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>'));

或者您可以将这三行放在三个不同的span中,并使用id。比如:

<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();