gpt4 book ai didi

javascript - 检查 if 语句中是否存在具有数据属性的跨度

转载 作者:行者123 更新时间:2023-11-30 18:01:51 25 4
gpt4 key购买 nike

我正在尝试搜索是否存在具有指定用户名的数据属性“datanamed”的任何元素。

代码如下:在 if 语句中,无法正常工作。

if($('*[datanamed=" + username + "]') === undefined){ 

}
else {

}

最佳答案

jQuery返回一个jQuery对象,它不能是undefined,你应该使用retuned jQuery对象的length属性来代替,还要注意如果username 是一个变量,您代码中的字符串连接错误,标准的 IDE 可以显示问题(缺少引号):

if ( $('*[datanamed="' + username + '"]' ).length === 0 ) { 
// doesn't exist
} else {
// exists
}

请注意,通用选择器 * 非常昂贵。在过滤之前,它会选择 DOM 中的所有现有元素。如果只有几个元素可以具有此属性,则可以使用 .filter() 方法:

if ( $('a, div, span').filter('[datanamed="' + username + '"]').length === 0 ) { 
// doesn't exist
} else {
// exists
}

PS:HTML5 data-* 属性的正确语法是data-*,您的属性无效。它应该是 data-named

关于javascript - 检查 if 语句中是否存在具有数据属性的跨度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16782539/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com