我正在编写一个基本的应用程序,它涉及到更改名称引用的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