Javascript:检查类名是否存在
是否可以返回true或false值来检查类“NoResult”是否存在?如果是,我该怎么做?你们真是太棒了。我无法更改HTML编码,只能更改javascript。在javascript中,如果不使用jQuery之类的库,您可以通过以下方式进行更改:Javascript:检查类名是否存在,javascript,html,classname,Javascript,Html,Classname,是否可以返回true或false值来检查类“NoResult”是否存在?如果是,我该怎么做?你们真是太棒了。我无法更改HTML编码,只能更改javascript。在javascript中,如果不使用jQuery之类的库,您可以通过以下方式进行更改: function Check(){ return !(iframe.contentDocument.getElementById("Offer").firstElementChild.tagName.toLowerCase() == "table")
function Check(){
return !(iframe.contentDocument.getElementById("Offer").firstElementChild.tagName.toLowerCase() == "table");
}
当“MyClassName”出现在className
属性中定义的字符串中的任意位置时,该值为true
在您的特定情况下,类似于:
(' ' + MyElement.className + ' ').indexOf(' MyClassName ') != -1
之前我的回答中有一个错误,它会错误地识别评论中指出的部分匹配。基本上,您需要在检查中考虑类名是否完整。一个简洁的方法是(如其他答案所示),如果在整个className
属性和正在搜索的类之前和之后都使用空格,它将始终找到整个类
虽然这会起作用,但我建议使用While
classList
(使用classList
)
function Check()
{
//Returns true when it exists
return (' ' + iframe.contentDocument.getElementById('Offer').firstElementChild.className + ' ').indexOf(' NoResults ') != -1;
}
(免责声明:链接到我自己的帖子)
如果目标平台不支持,请尝试
var hasClass = element.classList.contains('some-class');
如何检查元素是否具有适用于所有浏览器的类: JQuery 1.6或更低版本
if ( ~(' ' + element.className + ' ').indexOf(' NoResult ') ) {
// here you go. You've got that class...
}
JQuery 1.6或更高版本
if($("#ElementId").attr('class').indexOf('ClassName') > -1)
或者,如果你根本不打算使用IE
if($("#ElementId").prop('class').indexOf('ClassName') > -1)
@Turnerj-不幸的是,即使IE9也不支持:(啊,你是对的,它不支持它。对于任何想知道支持的人来说,元素是什么?可以做
div.classList
?如果div
是对HTMLElement
的引用,那么是的。
if($("#ElementId").attr('class').indexOf('ClassName') > -1)
if($("#ElementId").prop('class').indexOf('ClassName') > -1)
if($("#ElementId").prop('class').includes('ClassName'))