2016-11-30 111 views
-1

我有jQuery选择器的问题。我打电话这样的:jQuery选择器得到重复元素

var keysContainerRows = $(".prockeyscontainer").find(".row"); 
console.log(keysContainerRows); 

而这就是我得到:

enter image description here

选择将返回与row类两个元素,但那里row类只有一个元素与里面元素类prockeyscontainer。这是HTML:

enter image description here

这里发生了什么?提前致谢。

+4

“prockeyscontainer”类有多少个? – mkaran

+1

听起来不可能。在本地调试你的本地调试器,并检查'​​document.querySelectorAll('。prockeyscontainer')。length;' – jAndy

+0

页面上是否有多个元素,类为'.prockeyscontainer'? – ADyson

回答

0

发现问题。我在前面加动态与.prockeyscontainer jQuery的是这样的:

$("<div class='prockeyscontainer'></div>").prependTo(el_container); 

el_container对象包含此:

var el_container = $(data).appendTo($("body")); 

data对象包含此:

<head xmlns="http://www.w3.org/1999/html"> 
    <link rel="stylesheet" href="../style/index.css"/> 
</head> 

<div class='addkeysdialogv2'> 
    . . . . . (Content) . . . . . 
</div> 

所以.prockeyscontainer元素正被前置到head元素和addkeysdialogv2元素。我猜el_containerarray两个元素(headdiv)返回的appendTo函数。所以当我预先添加一个新元素时:.prockeyscontainerel_container它被应用于两个数组元素。