我正在編寫一個基本的應用程序,它涉及到更改名稱引用的div中的html,並且它在Chrome,Firefox,Safari等中運行良好,但不在我們心愛的Internet Explorer中運行。我加載的內容動態,所以我不能給你完整的代碼,但這裏的HTML(其中會有堆放着上升的數值名稱很多這樣的div)的一個例子:在IE中錯誤的jQuery選擇
<div id="entry" class="entry" name="15">
<div id="comment" class="comment" name="15">Click here...</div>
<div id="rating" class="rating" name="15">24</div>
</div>
而這裏的jQuery函數
$.fn.rateup = function() {
var dname = $(this).attr('name');
var rating = $("div.rating[name="+dname+"]").html();
var newrating = parseInt(rating)+1;
$("div.rating[name="+dname+"]").html(newrating);
}
現在,我希望有發生的是在點擊進入專區內評級DIV的HTML由一個增加,但在IE評級:當用戶點擊「進入」格觸發入口格低於單擊增加。我不知道它在這裏可能會選擇錯誤的div,因爲它有一個非常明確的名稱,在我的代碼中非常清楚地引用了它。我試過在單擊的條目div中用jQuery的.find()方法做同樣的事情,並得到相同的結果。我很難過。
點擊here查看我在說什麼。這可能是其他方面的錯誤,但這是我目前唯一關心的問題。如果最壞的情況是最壞的,我可以讓它選擇[name = parseInt(dname)-1]的元素,當且僅當在IE中呈現時,但我想找到一個更少的hackey解決方案。
感謝您的想法。
EDIT(6/24 11:30)
結合下面的答案和我的新知識,一些古怪的CSS被定位在混亂的地方東西(內嵌浮動權彈出下來到下一行,除非正確處理) ,我已經解決了這個問題。感謝大家幫助我成爲更好的編碼器。我將開始更加正確地使用屬性!
你的答案是更正確的2,特別是使用上下文。 +1 – 2010-06-23 15:39:45
這確實產生了正確的選擇,並調整我的CSS我現在將評論放置在正確的位置。感謝大家在這裏尋求幫助。 – man1 2010-06-25 06:44:21