我正在尝试搜索是否存在具有指定用户名的数据属性“datanamed”的任何元素。
代码如下:在 if 语句中,它不能正常工作。
if($('*[datanamed=" + username + "]') === undefined){
}
else {
}
我正在尝试搜索是否存在具有指定用户名的数据属性“datanamed”的任何元素。
代码如下:在 if 语句中,它不能正常工作。
if($('*[datanamed=" + username + "]') === undefined){
}
else {
}
jQuery 返回一个 jQuery 对象,它不能是undefined,你应该使用length
重新调整的 jQuery 对象的属性来代替,还要注意如果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
}
PSdata-*
:HTML5属性的正确语法是data-*
,您的属性无效。应该是data-named
。