我可以使用
检查数组中的对象IDif (obj[0].id != "myID")
我想用通配符做同样的事情,所以
if (obj[0].id != "myID*")
将排除#myID1,#myID2,#myID3等
我必须留在if语句进行此检查,我无法调用外部函数。
如果不可能,我可以使用obj [0] .className而不是.id:
if (obj[0].className != "myClass")
但除了myClass之外,每个对象都有几个类。
jQuery是允许的,虽然我不确定它会有所帮助。
答案 0 :(得分:2)
如果你正在使用jQuery(你已经添加了标签),为什么不使用选择器?
$('*:not[id^="myID"]')
这将获取属性不以myID
开头的所有元素。您可以在if语句中使用它,如下所示:
if($(obj[0]).is('[id^="myID"]'))
答案 1 :(得分:1)
使用String.prototype.indexOf
可能是一种可能的方法:
if (obj[0].id.indexOf('myID') !== 0) {
// ID does not start with 'myID'
}
答案 2 :(得分:1)
您可以使用myID
检查前4个字符是.substring()
:
if(obj[0].id.substring(0,4) != 'myId'){ }
如果您想使用jQuery,那么检查id 或类非常容易:
if(!$(obj[0]).is('[id^=myId]')){ }
或
if(!$(obj[0]).hasClass('myClass')){ }
答案 3 :(得分:1)
您甚至可以使用正则表达式:
if( !/(myId)/g.test( obj[0].id.indexOf('myID') ) ) {
}
我可以建议你这个非常好的游乐场来测试你的正则表达式:
http://lea.verou.me/regexplained/
这个谈话:
http://www.youtube.com/watch?v=EkluES9Rvak
正则表达式可以非常强大。也许你的情况并不难以与其他技术一起管理,但你会发现正则表达式在将来对其他问题非常有用。
答案 4 :(得分:1)
首先,你绝对可以使用像这样的id属性选择器
if(!$(obj[0]).is("[id^=myID]"))
但是,为什么不为所有这些元素分配一个类呢?这听起来像是一种更合理的方法,允许
if(!$(obj[0]).hasClass("myClass"))