<h1>
<br>
USA
<br>
<br>
<p style="margin-top:13px;" class="glyphicon glyphicon-chevron-down"></p>
<br>
<br>
Canada
</h1>
如果不更改上面的HTML,如何使用jQuery选择器获取Canada
的值?
答案 0 :(得分:3)
如果要获取最后一个文本节点值,请尝试此
var h1 = document.querySelector("h1");
var childNodes = h1.childNodes;
console.log(childNodes[childNodes.length -1 ].nodeValue);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h1><br>USA<br><br><p style="margin-top:13px;" class="glyphicon glyphicon-chevron-down"></p><br><br>Canada </h1>
等效的jquery将是
var h1 = $("h1")[0];
答案 1 :(得分:1)
如果标记样式一致 - 不容易更改,则可以使用xpath
。
答案 2 :(得分:1)
您也可以这样做:
var value = $('h1').contents().filter(function() {
return this.nodeType == 3;
})[1];
这里我使用nodeType == 3
来选择文本节点。
答案 3 :(得分:1)
你走了:
var afterP;
var text = $('h1').contents().filter(function() {
if (this.nodeName == "P") {
afterP = true
}
return afterP && this.nodeType == 3;
}).text();
console.log(text);
已复制解决方案&amp;从Get the text after span element using jquery
增强答案 4 :(得分:0)