5

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

5 回答 5

17

尝试访问这些属性

var mm = $('.jj').get(0);
alert(mm.nodeValue);
alert(mm.nodeType)
于 2012-08-28T13:54:08.237 回答
7

我知道这不是问题,但要查看它是什么类型(DIV、SPAN 等),请使用 tagName。

var mm = $('.jj').get(0);
alert(mm.tagName);
于 2016-11-17T03:25:04.710 回答
2

要获取 DOM 节点,您可以使用[0]

var mm = $(".jj")[0];
if (mm.nodeType === 1) {
    // Node.ELEMENT_NODE
}

但是,<div>元素永远不会是文本节点,也不会有nodeValue.

文本节点是<div>元素的第一个子节点。所以下面的代码会给你“价值”:

alert(mm[0].firstChild.nodeValue);
于 2012-08-28T13:55:00.413 回答
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 元素的“包装集”。

于 2012-08-28T13:55:09.750 回答
0

如上所述,$('.jj').get(0).nodeType有效。

如同$('.jj').first().nodeType

或者$('.jj').prop('nodeType')

.prop():获取匹配元素集中第一个元素的属性值,或者为每个匹配元素设置一个或多个属性。

于 2017-03-30T22:11:08.623 回答