我有一個id "#post0"
爲什麼不傳遞jQuery處理ID和選擇器?
和一類"reply"
當我這樣做:
var rep = ".reply";
$(rep).toggle(400);
帶班 「答覆」 切換所有組件。
然而,當我這樣做:
var rep = "#post0.reply";
$(rep).toggle(400);
什麼也沒有發生與一流的答覆和post0元素...而不是切換他們
幫助表示讚賞!
我有一個id "#post0"
爲什麼不傳遞jQuery處理ID和選擇器?
和一類"reply"
當我這樣做:
var rep = ".reply";
$(rep).toggle(400);
帶班 「答覆」 切換所有組件。
然而,當我這樣做:
var rep = "#post0.reply";
$(rep).toggle(400);
什麼也沒有發生與一流的答覆和post0元素...而不是切換他們
幫助表示讚賞!
$("#post0.reply")
返回具有編號爲post0
和類別reply
的元素。
$(".reply")
返回具有類reply
的元素。
$("#post0 .reply")
返回嵌套在ID爲post0
的元素下的類爲reply
的元素。
下面的jsfiddle爲我工作:
當你說你的元素ID爲 「#post0」;實際上是在ID字段中的哈希?嘗試從ID字段中移除哈希值;所以:
<p id="#post0"...
變爲:
<p id="post0"...
保持前綴在JavaScript雖然ID的#;這告訴JQuery它正在尋找一個ID;所以選擇仍然應該是:
var rep = "#post0.reply";
獲得類 「答覆」
$(".reply")
例子中的所有元素:
<span class="reply">match</span>
回報具有ID 「post0」 的所有元素並有一個「答覆」類。請注意,選擇器之間不存在空格。一個元素,只有當他們都「鏈接」選擇
匹配$("#post0.reply")
例如:
<span id="post0" class="reply">match</span>
回報有一個類「回覆」,也就是id爲元素的後代的所有元素「post0」 請注意,有在例如選擇之間
$("#post0 .reply")
一個空格:
<div id="post0">
<span class="reply">span match</span>
</div>
問題是,當我執行該代碼沒有切換髮生。抱歉,我的初始描述被砍掉了!欣賞任何幫助,您可以提供調試 – algorithmicCoder 2012-04-29 11:59:27
@algorithmicCoder嘗試'console.log($(「#post0.reply」))'看看它是否會返回您的目標。 – Joseph 2012-04-29 12:01:00
當這段代碼是什麼?標記實際上是什麼樣子?你爲什麼只提供片段而不是完整的最小測試用例? – Quentin 2012-04-29 09:56:53
真的很抱歉!不知何故,我的其他描述被刪除。現在編輯..問題是,當我執行該代碼時沒有任何反應。 – algorithmicCoder 2012-04-29 11:57:07