我有以下标记:
<span>
Some text blalablalalbal<br/><br/>
"You are Awesome" <br/><br/>
----What can I do for you?<br/><br/>
</span>
现在我想隐藏第一行并修改最后一行。
如何使用jQuery获取这些文本?
注意:
1:存在多个类似代码块但具有不同文本的实例。所以我将无法进行硬编码。我想知道我是否可以用某种方式拆分它?
2:如果可以在C#中的服务器端代码中完成,那也没关系。
答案 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";
答案 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();