Javascript 获取标记内的所有节点
我有这样一个代码:Javascript 获取标记内的所有节点,javascript,jquery,dom,nodes,Javascript,Jquery,Dom,Nodes,我有这样一个代码: <div id="container"> Lorem ipsum dolor sit amet <p>This is a paragraph</p> <br /> <span>This is a span</span> Lorem ipsum dolor sit amet </div> 我在jquery中尝试了“all selector”,但它只获取标记,而不获取文本。使用jquery,您可
<div id="container">
Lorem ipsum dolor sit amet
<p>This is a paragraph</p>
<br />
<span>This is a span</span>
Lorem ipsum dolor sit amet
</div>
我在jquery中尝试了“all selector”,但它只获取标记,而不获取文本。使用jquery,您可以使用.children()()方法将所有子元素获取到容器div,然后从每个子元素获取值并打印该值。要获取元素中包含的文本,请使用
.text()
函数。例如$('#container').text()
或在本例中
$("#container").find('*').add('#container').map(function() { return $(this).text }).get()
您可以使用下面的代码来执行此操作。基本上,
childNodes
获取作为元素子元素的所有节点的列表。之后,我们必须遍历整个获取的节点列表,然后根据需要打印输出
children[i].textContent.trim()上的if
条件“
用于排除空节点(包括
标记)
window.onload=function(){
var children=document.getElementById(“容器”).childNodes;
对于(变量i=0;i ”;
}
}
Lorem ipsum dolor sit amet
这是一段
这是一个跨度
Lorem ipsum dolor sit amet
输出
这将返回所有文本和子元素,但不会像预期的那样作为数组返回。可能你可以用它来验证和做任何你想做的事情。你可以使用JQuery函数来迭代所有的子项
$(“#容器”).children().each(function(){//do sth})
,但是它不会返回直接包含在div中的文本。那么我如何将文本(尚未包装)包装在div周围?你还想要什么?标签的类型divp
etc?我想访问标签中不包含的文本
Node: Lorem ipsum dolor sit amet
Node: This is a paragraph
Node: This is a span
Node: Lorem ipsum dolor sit amet
$("#container").find('*').add('#container').map(function() { return $(this).text }).get()
jQuery("#container").html()