我有一個理解這裏有什麼問題的問題。我使用jQuery找到一個元素,但我無法找到元素的父不使用jQuery:由jQuery返回的DOM元素的父項
$(".selectbox").on("click", function(e) {
e = e || window.event;
var eTarget = e.target || e.srcElement;
find_parent(eTarget);
});
使用上述調用find_parent功能的工作原理:
function find_parent (el) {
element_parent = el.parentElement;
}
,但如果使用這種調用find_parent失敗:
function someFunction {
selectBoxEl = $(".xyz").find('.selectbox');
find_parent (selectBoxEl);
}
我不是在尋找「爲什麼不使用jQuery父()」的解決方案 - 它工作正常。我想瞭解爲什麼正常的DOM方法不能在jQuery返回的元素上工作,以及我做錯了什麼。
編輯: 示例代碼,不使用實際的代碼,而是一個非常簡化的版本來說明我的問題。實際的find_parent()
函數是一個漫長而複雜的部分,它經歷了許多元素及其父母的各種更新,並且它不使用jQuery。我想利用該代碼,而不是爲了我的需要在示例函數someFunction()
中複製它。
你有錯字...方法調用和圓括號之間不應有空格'find_parent(selectBoxEl);' –
[jQuery對象和DOM元素]的可能重複(http://stackoverflow.com/questions/6974582/jquery-object-and-dom-element) –
由於您使用的是jQuery,因此事件對象已經過標準化,因此不需要在其中包含瀏覽器特定的代碼。所以'$(「。selectbox」)。on(「click」,function(e)var parent = $(e.target).parent(); });' –