2016-11-30 114 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它被應用於兩個數組元素。