使用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#的服务器端代码中完成,那也很好。
您可以对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();