jQuery获取数据属性不工作
jQuery getting data attribute not working
我有一个脚本,产生一些按钮与类,我希望它提醒数据属性点击,但它不工作。
下面是HTML 的输出<button class="request box-button" data-value="18492500814">Request</button>
jQuery代码$(document).ready(function(){
$('.request').each(function () {
var photoID = $(this);
photoID.click(function () {
alert($(this).data('value'));
});
});
});
由于页面加载时元素不存在,因此事件不会绑定到它们。通过使用事件委托:
来修复这个问题$(document).ready(function(){
$(document).on('click','.request', function () {
alert($(this).data('value'));
});
});
JS演示动态生成元素
注意:在这里,我使用$(document).on()
,因为我没有你的页面结构。但是,如果您将按钮插入到HTML中已经存在的容器中,则使用此:$('#myContainer').on()
。它不会被注意到,但是对于性能来说是最好的。
为什么不把侦听器放在请求上,而不是在循环内呢?也使用attr
来获取数据值
$(document).ready(function(){
$('.request').click(function () {
alert($(this).attr('data-value'));
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<button class="request box-button" data-value="18492500814">Request</button>
尝试attr
方法
$(document).ready(function(){
$('.request').each(function () {
var photoID = $(this);
photoID.click(function () {
alert($(this).attr('data-value'));
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<button class="request box-button" data-value="18492500814">Request</button>
相关文章:
- 序列化数据属性中对象的最可靠方法
- jQuery最近父级的数据属性选择器
- delete在Object上效率低下,但在DOM Element's的数据属性,与null out相比
- 数据属性仅在切换设备模式下工作
- 函数jquery.html()不提供数据属性集值
- 在数据属性上进行下拉自动选择
- JavaScript-获取数据属性的值返回未定义的值
- 如何替换数据属性中的特定字符串单词
- 使用数据属性将HTML数据复制到另一个元素
- 带有CSS的数据属性就没那么有用了
- 查找所有TD标签并读取其数据属性
- 使用jQuery获取第N个元素的数据属性值
- 使用自定义数据属性或将数据绑定到处理程序来处理事件
- .split() 数据属性在应该工作的时候不起作用
- .findOne 在 Iron Router Route 的数据属性中工作,但 .find 不能
- 如何在javascript中获得数据属性-不工作在ios safari浏览器
- Javascript获取数据属性,使用循环不工作
- 仅使用数据属性引导功能是如何工作的
- 添加数据属性值不工作
- jQuery获取数据属性不工作