我有以下的jquery,它會在點擊一個按鈕時顯示div。Jquery .show無法正常工作
var parent = $(this)[0].parentElement.innerHTML;
$(parent).find('.divName').show();
.show()
不工作。任何想法?
我有以下的jquery,它會在點擊一個按鈕時顯示div。Jquery .show無法正常工作
var parent = $(this)[0].parentElement.innerHTML;
$(parent).find('.divName').show();
.show()
不工作。任何想法?
在第一行,你得到一個元素的HTML字符串。
在第二行中,您將使用此字符串創建一個新元素,然後在原始元素的虛擬副本上調用.show()
。
這是正確的做法:
var $parent = $(this).parent();
$parent.find('.divName').show();
只需刪除.innerHTML
,即可定位文本而不是元素。
另外,我不經常混淆的jQuery和javascript,這裏是譯:
var parent = $(this).parent();
parent.find('.divName').show();
而且,你能顯示完整的代碼?
編輯
JavaScript沒有'.parent'方法。 '$(this)[0] === this'。只要刪除'[0]'。在jQuery中,事件監聽器中的this這個「OP」表示「點擊一個按鈕」!)引用一個元素。 '$(this)[0] === this',所以你的情況中的'parent'指向一個DOM元素。 – 2012-07-23 10:05:45
謝謝你糾正我,我會更新我的代碼。 – Novak 2012-07-23 10:13:50
檢索從HTML字符串jQuery對象將無法正常工作。這應該做你想做的:
$(this).first().parent().find(".divName").show();
感謝羅布!!!!!!!它完美的作品 – sam 2012-07-23 10:26:57