JQuery fadeOut仅适用于第一个元素
JQuery fadeOut only works on first element
我有一个包含其他div元素的div,这些元素都包含一个运行javascrip函数(使用AJAX从表中删除一行)的锚标记。实例
<div id="container">
<div><a id="btn" onclick="SomeFunction()">Delete</a></div>
<div><a id="btn" onclick="SomeFunction()">Delete</a></div>
<div><a id="btn" onclick="SomeFunction()">Delete</a></div>
... and so on
</div>
然后我有了这个Jquery代码;
$("#btn").click(function() {
$(this).parent("div").fadeOut();
});
据我所知,这应该会在点击时淡出每个元素,但它只会淡出第一个元素,如果我点击下一个元素按钮,什么都不会发生。
我没有广泛的JQuery知识来理解为什么会发生这种情况。
Id必须是唯一的,请改用类
Ids
[…]元素只能有一个通过ID属性定义的ID。请注意,一个元素可能有几个ID,但其他ID应该通过另一种方式设置,例如通过与元素的DOM接口接口的脚本。
类
类允许CSS和Javascript通过类选择器或DOM方法等函数来选择和访问特定元素
参考
示例
HTML:
<div id="container">
<div><a class="btn" onclick="SomeFunction()">Delete</a></div>
<div><a class="btn" onclick="SomeFunction()">Delete</a></div>
<div><a class="btn" onclick="SomeFunction()">Delete</a></div>
</div>
jQuery:
$(".btn").click(function() // Identify classes by a dot and the class attribute value.
{
$(this).parent("div").fadeOut();
});
工作演示
主题:我建议看一下.on().
一个页面上只能有一个具有相同id的元素。jQuery正在变得混乱。请改用类或属性选择器。
相关文章:
- 使用数据上的角度更改设置集合的第一个元素的动画
- 在javascript数组中推送多个值并获取第一个元素
- Angular js将只显示ng repeat中的第一个元素
- 使用+=运算符未定义对象中的第一个元素
- javascript window.addEventListener,覆盖了第一个元素的配置
- 如何访问 JSON 对象数组的第一个元素
- 第一个元素和最后一个元素之间的连续循环
- 要插入二叉树的第一个元素,请将其放在左边还是右边
- 向下滚动时覆盖页面的第一个元素或块
- 数组未发送所有元素,只获取第一个元素
- 创建每个数组的第一个元素的数组
- 只显示ng重复的第一个元素
- CKEditor:以小部件作为第一个元素,选择所有在Chrome中不工作的
- 从Web视图上显示的页面部分获取第一个元素
- 有没有更好的方法来访问用JQuery选择器选择的第一个元素
- JQuery验证仅适用于提交的表单中的第一个元素.[打算验证所有内容]
- jQuery导航菜单没有't更新第一个元素
- jQuery如何删除第一个元素前的逗号
- 如何获取数组第一个元素的范围
- 使用 Dart 时,我正在创建一个点击事件的 DOM 类.它只拾取第一个元素,我如何让它在所有元素上发射