jq 判断元素是否含有某个属性
墨初 前端设计 1834阅读
在jqueryj里,判断某个元素中是否含有某个样式类,可以使用hasclass方法,但如果要判断元素里是否含有某个属性该如何做呢?jq里面并没有提供hasattr方法,那如何用代码使用呢?
jq 判断元素是否含有某个属性的方法
1、先来一个简单的测试版本的
先用JQ获取一个未有的属性的值,看看输出什么!
<div id="mochu" ></div> <script> //先获取一个未有的属性,看一下输出什么 console.log($('#mochu').attr('data')); </script>
控制台打印结果:
undefined
可以参考上面的代码,用JQ来判断某个元素是否含有某个属性,
参考代码:
<div id="mochu" data="sdf"></div> <script> if ($('#mochu').attr('data') == 'undefined') { console.log('未有属性'); } else { console.log('有属性值'); } </script>
注意:测试上面的代码,可以发现。无论有没有 data 属性,都会输出 “有属性值”,所以需要优化一下上面的代码!
2、优化后的正式代码:
通过使用 typeof 语法来优化代码,可以达到想要的效果!
<div id="mochu" ></div> <script> if (typeof ($("#mochu").attr("data")) == "undefined"){ console.log('未有属性'); }else{ console.log('有属性值'); } </script>