gpt4 book ai didi

jquery - IE 中的 jQuery 选择不正确

转载 作者:行者123 更新时间:2023-12-01 07:34:56 25 4
gpt4 key购买 nike

我正在编写一个基本的应用程序,其中涉及更改按名称引用的 div 中的 html,它在 Chrome、Firefox、Safari 等中运行良好,但在我们喜爱的 Internet Explorer 中则不然。我正在动态加载内容,因此我无法为您提供完整的代码,但这里有一个 HTML 示例(其中有许多此类 div 堆叠有升序的数字名称):

<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>

这是当用户单击“entry”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 内的评级 div 中的 HTML 增加 1,但在 IE 中,点击的条目 下面 的条目 div 的评级会增加。我不知道它怎么可能在这里选择错误的 div,因为它有一个非常具体的名称,在我的代码中非常清楚地引用了。我尝试在单击的条目 div 中使用 jQuery 的 .find() 方法执行相同的操作,并获得相同的结果。我被难住了。

点击here看看我在说什么。它可能在其他方面有问题,但这是我目前唯一关心的事情。如果最坏的情况发生,我可以让它选择带有 [name=parseInt(dname)-1] 的元素当且仅当在 IE 中呈现时,但我想找到一个不那么 hackey 的解决方案。

感谢您的想法。

编辑(6月24日晚上11:30)

结合下面的答案和我新发现的知识,一些古怪的CSS将东西定位在令人困惑的地方(内联 float 右弹出东西到下一行,除非处理正确),我已经解决了这个问题。感谢你们帮助我成为一名更好的程序员。我将开始更正确地使用属性!

最佳答案

嗯,我认为你混淆了选择器。

<div id="e15" class="entry">
<div class="comment">Click here...</div>
<div class="rating">24</div>
</div>

如果您现在尝试选择评级 div,“this. rating”它应该选择正确的一个。

<小时/>

PS 你的名字字段并不是真正必要的,并且在 xhtml 中是无效的。 (因为它只能是表单字段的成员)

关于jquery - IE 中的 jQuery 选择不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3099334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com