我要检查用户在网页中单击的对象是否包含特定ID。
我尝试了.includes,.contains,.hasOwnProperty('val')和其他一些方法,但是没有运气。
如果该对象包含#demo-id-name,则应触发其下面的代码。
所以我在代码中有了这个,我想这样做,以便如果用户单击第一个
标记,我想使用javascript检查被单击的对象是否具有“# demo-id-name”。
jQuery(document).ready(function($) {
"use strict";
$(".demo-class").on("click",
function(event) {
var $this = $(this);
if ($this.hasAttribute('#demo-id-name')) {
/// redacted for brevity etc etc
clickSpark.fireParticles($(this));
}
}):
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<p class="demo-class" id="demo-id-name">something </p>
<p class="demo-class">something ELSE </p>
答案 0 :(得分:2)
您可以使用.matches
来检查元素是否与特定选择器匹配,而无需先将this
转换为jQuery
集合:
$(".demo-class").on("click", function() {
if (this.matches('#demo-id-name')) console.log('match');
else console.log('no match');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="demo-class" id="demo-id-name">something </p>
<p class="demo-class">something ELSE </p>
这不是必需的,但是如果您想先将this
包装在jQuery中,则可以使用is
方法:
$(".demo-class").on("click", function() {
if ($(this).is('#demo-id-name')) console.log('match');
else console.log('no match');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="demo-class" id="demo-id-name">something </p>
<p class="demo-class">something ELSE </p>
答案 1 :(得分:1)
具有属性用于检测元素是否具有特定的属性类型,例如name
,class
或id
。不是为了弄清楚某个属性的内容。
只需简单地获取元素id属性的名称,然后在if语句中测试它是否与您要查找的内容相匹配。
还有关于您使用event
的旁注。因为您没有在函数中使用事件,所以不需要。
jQuery(document).ready(function($) {
"use strict";
$(".demo-class").on("click", function() {
var $this = $(this),
name = $this.attr('id');
if (name === 'demo-id-name') {
alert('WOOOOOO');
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<p class="demo-class" id="demo-id-name">something </p>
<p class="demo-class">something ELSE </p>
答案 2 :(得分:1)
JS代码:
$(".demo-class").on("click",
function(event) {
if (this.id.match('demo-id-name')){
console.log('ID is matched');
}
else {
console.log('Id is not matched');
}
});
<p class="demo-class" id="demo-id-name">something </p>
<p class="demo-class">something ELSE </p>