0
如果我想使用jQuery獲取文本節點的值,我該如何做到這一點?使用jQuery獲取第N個文本節點的值
例如,具有以下HTML,我怎麼才能只值「XYZ-123」,而無需解析出「SID:」使用正則表達式:
<div id="sid"><strong>SID: </strong> XYZ-123</div>
如果我想使用jQuery獲取文本節點的值,我該如何做到這一點?使用jQuery獲取第N個文本節點的值
例如,具有以下HTML,我怎麼才能只值「XYZ-123」,而無需解析出「SID:」使用正則表達式:
<div id="sid"><strong>SID: </strong> XYZ-123</div>
嘗試使用filter()
與Node.TEXT_NODE
的nodeType
:
$('#sid').contents().filter(function() {
return this.nodeType === Node.TEXT_NODE;
}).text();
上面的代碼查找基於該nodeType
內容和過濾器。我們只對文本節點感興趣。
片段
$(function() {
a = $('#sid').contents().filter(function() {
return this.nodeType === Node.TEXT_NODE;
}).text();
alert(a);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div id="sid"><strong>SID: </strong> XYZ-123</div>
要知道更多:
您可以使用獲得的內容與過濾功能一起div元素得到文本節點元素:
$('#sid').contents().filter(function() {
return this.nodeType === 3; //get text nodes
}).text();
雖然我如何獲得第N個節點?假設有多個文本節點的情況比較複雜,比如'
'$('#sid')。contents()。filter(function(){ return this.nodeType === Node.TEXT_NODE; }).get(WHICH_NODE_HERE).text();' –
@eComEvo Hope那答案! ':)' –