检查,如果元素是div

时间:2011-06-29 09:57:37

标签: javascript jquery html css

如何检查$(this)divul还是blockquote

例如:

if ($(this) is a div) {
  alert('its a div!');
} else {
  alert('its not a div! some other stuff');
}

11 个答案:

答案 0 :(得分:83)

这样的事情:

if(this.tagName == 'DIV'){
    alert("It's a div!");
} else {
    alert("It's not a div! [some other stuff]");
}

答案 1 :(得分:40)

没有jQuery的解决方案已经发布,所以我将使用jQuery发布解决方案

$(this).is("div,ul,blockquote")

答案 2 :(得分:19)

如果没有jQuery,您可以说this.tagName === 'DIV'

请记住tagName中的'N'是大写的。

或者,有更多标签:

/DIV|UL|BLOCKQUOTE/.test(this.tagName)

答案 3 :(得分:4)

if(this.tagName.toLowerCase() == "div"){
    //it's a div
} else {
    //it's not a div
}

编辑:在我写作的时候,给出了很多答案,对不起是双重的

答案 4 :(得分:3)

通过jQuery,您可以使用$(this).is('div')

  

针对选择器,元素或jQuery对象检查当前匹配的元素集,如果这些元素中至少有一个与给定的参数匹配,则返回true。

答案 5 :(得分:3)

检查此元素是否为DIV

if (this instanceof HTMLDivElement) {
   alert('this is a div');
}

对于UL,HTMLUListElement相同 blockquote的HTMLQuoteElement

答案 6 :(得分:2)

其中一些解决方案有点落伍。您只需要常规旧JavaScript中的tagName即可。你再也没有从jQuery重新包装整个东西中获得任何好处,特别是在库中运行一些更强大的函数来检查标记名称。如果你想在这个页面上测试它,这是一个例子。

$("body > *").each(function() {
  if (this.tagName === "DIV") {
    alert("Yeah, this is a div");
  } else {
    alert("Bummer, this isn't");
  }
});

答案 7 :(得分:1)

我正在加强Andreq Frenkel的答案,只是想添加一些而且它变得太长了所以在这里...

考虑CustomElements扩展现有的并且仍然能够检查元素是否是input,这让我认为instanceof是解决此问题的最佳解决方案。

但是应该注意,instanceof使用引用相等,因此父窗口的HTMLDivElement将不会与其iframe(或影子DOM等)的窗口相同

要处理这种情况,应该使用checked元素自己的窗口类,如:

element instanceof element.ownerDocument.defaultView.HTMLDivElement

答案 8 :(得分:1)

一个古老的问题,但是由于没有一个答案提到这一点,因此,没有jquery的现代替代方法可能只是使用CSS选择器和Element.matches()

$path_to_file = "FOLDER_name/"; //dont miss the last slash $space->UploadFile($path_to_file, "public","sub/folders/" . $path_to_file, 'text/directory'); // be noted for the mime type for the folder

答案 9 :(得分:0)

尝试使用tagName

答案 10 :(得分:0)

let myElement =document.getElementById("myElementId");

if(myElement.tagName =="DIV"){

  alert("is a div");

}else{

  alert("is not a div");

}
/*What ever you may need to know the type write it in capitalised letters "OPTIO" ,"PARAGRAPH", "SPAN" AND whatever */
相关问题