jQuery:检查是否存在具有特定类名的div

2020/10/11 10:21 · javascript ·  · 0评论

使用jQuery,我以编程方式生成了一堆div这样的:

<div class="mydivclass" id="myid1">Some Text1</div>
<div class="mydivclass" id="myid2">Some Text2</div>

我需要在代码的其他位置检测这些DIV是否存在。div的类名称相同,但每个div的ID均更改。知道如何使用jQuery检测它们吗?

您可以通过检查从JQuery返回的第一个对象来简化此过程,如下所示:

if ($(".mydivclass")[0]){
    // Do something if class exists
} else {
    // Do something if class does not exist
}

在这种情况下,如果在第一个([0])索引处有一个真值,则假定存在类。

编辑04/10/2013:我在这里创建了一个jsperf测试用例

您可以使用size(),但是jQuery建议您使用length以避免另一个函数调用的开销:

$('div.mydivclass').length

所以:

// since length is zero, it evaluates to false
if ($('div.mydivclass').length) {

http://api.jquery.com/size/

http://api.jquery.com/length/

更新

选定的答案使用性能测试,但由于它还包括元素选择作为性能的一部分,因此存在一些缺陷,此处未进行测试。这是更新的性能测试:

http://jsperf.com/check-if-div-exists/3

我的第一次测试显示,尽管IMO可以忽略不计,但是属性检索比索引检索更快。我仍然更喜欢使用长度,因为对于我来说,使用代码比使用更简洁的条件更有意义。

没有jQuery:

本机JavaScript总是会更快。在这种情况下:(示例)

if (document.querySelector('.mydivclass') !== null) {
    // .. it exists
}

如果要检查父元素是否包含另一个具有特定类的元素,则可以使用以下两种方法之一。(例)

var parent = document.querySelector('.parent');

if (parent.querySelector('.child') !== null) {
    // .. it exists as a child
}

另外,您可以.contains()在父元素上使用方法。(例)

var parent = document.querySelector('.parent'),
    child = document.querySelector('.child');

if (parent.contains(child)) {
    // .. it exists as a child
}

最后,如果要检查给定元素是否仅包含某个类,请使用:

if (el.classList.contains(className)) {
    // .. el contains the class
}
$('div').hasClass('mydivclass')// Returns true if the class exist.

这是不使用Jquery的解决方案

var hasClass = element.classList.contains('class name to search');
// hasClass is boolean
if(hasClass === true)
{
     // Class exists
}

参考链接

很简单...

if ($('.mydivclass').length > 0) {
  //do something
}

div明确测试元素:

if( $('div.mydivclass').length ){...}

简单的代码如下:

if ($('.mydivclass').length > 0) {
   //Things to do if class exist
}

要隐藏带有Particuler ID的div:

if ($('#'+given_id+'.mydivclass').length > 0) {
   //Things to do if class exist
}

以下是一些方法:

1.  if($("div").hasClass("mydivclass")){
    //Your code

    //It returns true if any div has 'mydivclass' name. It is a based on the class name
    }

2. if($("#myid1").hasClass("mydivclass")){
    //Your code


    //  It returns true if specific div(myid1) has this class "mydivclass" name. 
    //  It is a  based on the specific div id's.
    }           
3. if($("div[class='mydivclass']").length > 0){
    //Your code

   // It returns all the divs whose class name is "mydivclass"
   //  and it's length would be greater than one.
    }

我们可以根据需要使用上述任何一种以上定义的方式。

if ($(".mydivclass").size()){
   // code here
}

size()方法仅返回jQuery选择器选择的元素数量-在这种情况下,该类包含元素的数量mydivclass如果返回0,则表达式为false,因此不存在,如果返回任何其他数字,则div必须存在。

检查div是否存在某个类

if ($(".mydivclass").length > 0) //it exists 
{

}
if($(".myClass")[0] != undefined){
  // it exists
}else{
  // does not exist
}
var x = document.getElementsByClassName("class name");
if (x[0]) {
alert('has');
} else {
alert('no has');
}

在Jquery中,您可以像这样使用。

if ($(".className")[0]){

   // Do something if class exists

} else {

// Do something if class does not exist

}

使用JavaScript

if (document.getElementsByClassName("className").length > 0) {

// Do something if class exists

}else{

    // Do something if class does not exist

}

这是Java检查类(hasClass)的非常简单的解决方案:

const mydivclass = document.querySelector('.mydivclass');
// if 'hasClass' is exist on 'mydivclass'
if(mydivclass.classList.contains('hasClass')) {
   // do something if 'hasClass' is exist.
}

用Javascript最好的方法:

if (document.getElementsByClassName("search-box").length > 0) {
// do something
}
if ($("#myid1").hasClass("mydivclass")){// Do any thing}

使用它来搜索整个页面

if($('*').hasClass('mydivclass')){
// Do Stuff
}
本文地址:http://javascript.askforanswer.com/jqueryjianchashifoucunzaijuyoutedingleimingdediv.html
文章标签: ,   ,   ,  
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!