我有一个像这样的HTML树:
<pre id="code_block">
This is line 1<br>
This is line 2<br>
This is line 3<br>
This is line 4<span id="marker"></span><br>
This is line 5<br>
This is line 6<br>
...
</pre>
现在,我需要获取标记范围所抵抗的行的文本... 我已经有两个元素(领先&lt; br&gt;和&lt; span&gt;)
$('#marker');
$('#marker').prev('br');
但是如何在这些文本之间获取文本?
我已经尝试了几种解决方案 但问题是两个元素之间的文本不是一个自己的元素......
想法?
答案 0 :(得分:1)
您可以使用previousSibling
属性:
document.getElementById('marker').previousSibling;
previousSibling
会返回一个对象,如果您想要获取其中的文字内容,可以使用textContent
,nodeValue
或wholeText
属性。
答案 1 :(得分:1)
如果您想要检索This is line 4
,那么您可以这样做:
var text = $('#marker').map(function(){
return this.previousSibling.nodeValue;
});
alert(text[0]);
答案 2 :(得分:0)
nextUntil会帮助你..查看链接