2016-09-19 49 views
0

如何獲取div的類名?如何獲取div的類名?

<body> 
    <a id="append">Add DIV</a> 
    <div id="parent"></div> 
    <script> 
     $(document).ready(function() { 
      var count = 0; 
      $('#append').click(function() { 
      $('#parent').append('<div 
       class="article' + count + '">im div</div>'); 
      count++; 
      }); 
      $('div').click(function() { 
      alert(this.class); 
      }); 
     }); 
    </script> 
</body> 

當我試圖在警報中顯示div的類名顯示undefind。

+1

你沒有一流的HTML – guradio

+0

使用事件代表團一樣'$(文件)。在( '點擊', '格',函數() {'反而 – vijayP

回答

0

使用事件代表團繼承人的Fiddle

$('#parent').on('click','div',function() { 
className = $(this).attr('class'); 
    alert(className); 
}); 
1

有生成的attr屬性:

$(this).attr('class'); 
1

這是實例你的問題

$(document).ready(function(){ 
 
alert($('#ss').attr('class')); 
 
});
.ssclass{ 
 
width:100%; 
 
    height:100vh; 
 
    background:#ff8800; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="ss" class="ssclass"></div>

1

嘗試......

$(document).ready(function() { 
 
    var count = 0; 
 
    $('#append').click(function() { 
 
    $('#parent').append('<div class="article' + count + '">im div</div>'); 
 
    count++; 
 
    }); 
 
    $('div').click(function() { 
 
    alert($(this).attr('class')); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script> 
 
<body> 
 
    <a id="append">Add DIV</a> 
 
    <div class='className' id="parent"></div> 
 
</body>

1

使用事件代理爲動態創建的元素。否則,您的課程不會在點擊時觸發。

$('#parent').on('click', 'div', function() { 
    var getclass = $(this).attr('class'); 
    console.log(getclass); 
}); 
1

目前您所使用的稱爲「直接」綁定,它只會附加到您的代碼在進行事件綁定調用時存在於頁面上的元素。當您動態生成元素時,您需要使用.on()委託事件方法使用Event Delegation

常規語法

$(document).on('event','selector',callback_function) 

此外,你需要閱讀className屬性或使用getAttribute()

$(document).ready(function() { 
 
    var count = 0; 
 
    $('#append').click(function() { 
 
    $('#parent').append('<div class="article' + count + '" > im div </div>'); 
 
    count++; 
 
    }); 
 
    $('#parent').on('click', "div", function() { 
 
    alert(this.className) 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a id="append">Add DIV</a> 
 
<div id="parent"></div>

1

這是你如何能得到的所有class name div的。參考工作演示。

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
\t <title></title> 
 
\t <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
 
\t 
 
</head> 
 

 
<style type="text/css"> 
 

 

 

 

 
</style> 
 

 

 
<body> 
 

 
<div class="main"> 
 
\t <div class="classone">my name is class one</div> 
 
\t <div class="classtwo">my name is class two</div> 
 
\t <div class="classthree">my name is class three</div> 
 
</div> 
 

 
<script type="text/javascript"> 
 

 
$(document).ready(function(){ 
 
\t 
 
\t var thelength = $("div.main div").length;//get how many divs 
 
\t for(var i=0;i<thelength;i++) 
 
\t { 
 
\t \t var theclass_name = $("div.main div").eq(i).attr('class');//get the class name of each. 
 
\t \t alert(theclass_name); 
 
\t } 
 
}); 
 

 
</script> 
 

 

 

 

 
</body> 
 

 

 
</html>

0

使用它

<body> 
    <a id="append">Add DIV</a> 
    <div id="parent"></div> 
    <script> 
    $(document).ready(function() { 
     var count = 0; 
     $('#append').click(function(){  
     $('#parent').append('<div class="article'+count+'">im div</div>'); count++; 
     }); 
     $('#parent div').click(function(){ 
     alert($(this).attr('class')); 
     }); 
    }); 
    </script> 
</body>