我想获取nodeType,然后将其与文本节点或元素节点的位置进行比较。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="jquery-1.7.2.js"></script>
<script type="text/javascript">
$(function(){
var mm= $('.jj')
alert(mm.nodeValue)
})
</script>
</head>
<body>
<div class="jj">value</div>
</body>
答案 0 :(得分:15)
尝试使用
访问这些属性var mm = $('.jj').get(0);
alert(mm.nodeValue);
alert(mm.nodeType)
答案 1 :(得分:2)
要获取DOM节点,您可以使用[0]
:
var mm = $(".jj")[0];
if (mm.nodeType === 1) {
// Node.ELEMENT_NODE
}
但是,<div>
元素永远不会是文本节点,也不会有nodeValue
。
文本节点是<div>
元素的第一个子节点。因此,以下代码将为您提供“价值”:
alert(mm[0].firstChild.nodeValue);
答案 2 :(得分:1)
<script type="text/javascript">
$(function(){
var mm= $('.jj')
alert(mm.get(0).nodeValue)
})
</script>
或
<script type="text/javascript">
$(function(){
var mm= $('.jj')
alert(mm[0])
})
</script>
因为jquery集合是DOM元素的“包装集”。
答案 3 :(得分:1)
我知道这不是问题,但要查看它的类型(DIV,SPAN等),请使用tagName。
var mm = $('.jj').get(0);
alert(mm.tagName);
答案 4 :(得分:0)
如上所述,$('.jj').get(0).nodeType
有效。
与$('.jj').first().nodeType
或$('.jj').prop('nodeType')
.prop()
:获取匹配元素集中第一个元素的属性值,或为每个匹配元素设置一个或多个属性。