调用图像的数据属性
Calling the Data-Attribute of a Image
我有一个div中的图像列表,我正试图通过它们的数据属性调用这些图像。我想做的是找出img标记是否有一个名为"数据源"的数据属性,现在调用一个警报。否则运行我的其余代码。
HTML:
<div class="product_selection">
<div class="product_details">
<img data-source="Companies" src="/images/img_01.jpg">
</div>
<div class="product_details">
<img data-source="Companies" src="/images/img_02.jpg">
</div>
<div class="product_details">
<img data-source="Companies" src="/images/img_03.jpg">
</div>
<div class="product_details">
<img src="/images/img_04.jpg">
</div>
</div>
脚本:
$('.product_details img').click(function() {
var mainImg = $('.main_img_switch img');
var test = $(this).attr('data-source');
if (test.length > 0) {
alert("check");
} else {
var tempSrc = mainImg.attr("src");
mainImg.attr("src", this.src);
this.src = tempSrc;
}
});
您只需要将if语句更正为:
if (test && test.length > 0)
查看控制台日志(f12),它会显示代码中的错误。您的test
变量设置为undefined
,因为没有数据源属性。因此,test.length
与尝试访问undefined.length
相同,这是一个错误。您可以通过首先检查测试是否存在来修复它,因此test && test.length
。
在这种情况下,test
将始终是undefined
或字符串,因此if (test)
是它存在的充分检查,但技术上更正确的检查是:
if (typeof test === 'string' && test.length)
相关文章:
- 序列化数据属性中对象的最可靠方法
- 画布数据到图像
- jQuery最近父级的数据属性选择器
- delete在Object上效率低下,但在DOM Element's的数据属性,与null out相比
- 数据属性仅在切换设备模式下工作
- 函数jquery.html()不提供数据属性集值
- 在数据属性上进行下拉自动选择
- JavaScript-获取数据属性的值返回未定义的值
- 如何替换数据属性中的特定字符串单词
- 使用数据属性将HTML数据复制到另一个元素
- 带有CSS的数据属性就没那么有用了
- 查找所有TD标签并读取其数据属性
- 使用jQuery获取第N个元素的数据属性值
- 未捕获的类型错误: 无法读取未定义的属性“图像”
- 使用自定义数据属性或将数据绑定到处理程序来处理事件
- 数据属性有没有更干净的方法
- 调用图像的数据属性
- Jquery-背景图像随select中的数据属性而变化
- 如何向打开的图像添加html数据属性?
- 从图像中获取数据属性到单击输入框中