如何使用jQuery获取带有文本的子元素时,只能从DIV获取文本?
如何使用jQuery在具有文本的子元素时从父DIV获取文本?
I am a DIV I am a SPAN
如果我要使用$(’#div_1’)。text(),它会给我’我是一个DIV我是一个SPAN’。我如何得到’我是来自’div_1的DIV文本? 任何帮助非常感谢,谢谢。
试试:
$('#div_1').clone().children().remove().end().text();
您可以直接访问要查找的文本节点。 在您的情况下,请使用以下内容:
$('#div_1')[0].childNodes[0].nodeValue
每个节点都有一个子节点列表,可以是其他HTML元素或文本节点。 因此,我们得到第一个子节点(在您的情况下是一个文本节点)并返回nodeValue
,它将是文本本身。 这是一个例子 。
I am a DIV I am a SPAN
您可以使用.remove()
来删除div
中的HTML元素。 这是一个JSFiddle 。
和它一起使用的代码:
HTML
I am a DIV I am a SPAN
JavaScript的
$(document).ready(function() { var div = $("div#div_1").clone(); div.find("*").remove(); $("div#output").text(div.text()); });
我已经使它变得比它需要的更复杂(使用.clone()
)所以div
的原始内容被保留。 如果您只想获取文本并且不关心原始内容,则可以退出.clone()
。