如何使用jquery获取nodeType

时间:2012-08-28 13:52:30

标签: jquery html

我想获取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>

5 个答案:

答案 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():获取匹配元素集中第一个元素的属性值,或为每个匹配元素设置一个或多个属性。