Kev*_*Kev 6 html jquery loops class
我继承了一些jQuery和HTML,需要找出任何HTML元素是否具有任何值的类名.我已经阅读了几个线程和谷歌搜索,但找不到任何有用的东西.所以在伪代码中我想要的是:
Loop through all HTML elements
If any of them have any class at all:
Get their class name as a string
Run Code Online (Sandbox Code Playgroud)
希望这是有道理的!
jac*_*per 14
尝试:
$('*').each(function() {
if ($(this).hasClass()) {
var class_name = $(this).attr('class');
// do something
}
});
Run Code Online (Sandbox Code Playgroud)
你为什么要这样做,我不知道.这是非常低效的
fwi*_*wiw 12
物有所值:
$(this).hasClass()
Run Code Online (Sandbox Code Playgroud)
总是返回false.
$("[class]")
Run Code Online (Sandbox Code Playgroud)
也不起作用,因为它返回像
<p class=""> my p </p>
Run Code Online (Sandbox Code Playgroud)
这里的jsfiddle:http://jsfiddle.net/JZ8LV/1/
方案:
$(this).hasClass('')
Run Code Online (Sandbox Code Playgroud)
对于没有类的元素(包括表单的元素)返回true
<p class=""> my p </p>
Run Code Online (Sandbox Code Playgroud)
所以
$('*').each(function() {
if ($(this).hasClass('') === false) {
$("body").append($(this).prop("tagName") + " has a proper class defined <br/>");
}
});
Run Code Online (Sandbox Code Playgroud)
返回定义了适当类的所有标记.
Jsfiddle:http://jsfiddle.net/2Rtj5/
你可以使用这样的东西:
$("[class]").each(function(){
var className = $(this).attr("class");
})
Run Code Online (Sandbox Code Playgroud)
演示:http://jsfiddle.net/L5WAV/1/ (在控制台中查看结果 - 应该找到两个div)