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