Javascript 从页面加载jquery上具有相同类名的多个div中获取特定属性值
我有一个类似这样的HTML网页。 我想从类样例选项中隐藏背景,并在div中渲染选项标签 但我无法获得选项标签Javascript 从页面加载jquery上具有相同类名的多个div中获取特定属性值,javascript,jquery,html,Javascript,Jquery,Html,我有一个类似这样的HTML网页。 我想从类样例选项中隐藏背景,并在div中渲染选项标签 但我无法获得选项标签 $(文档).ready(函数(){ if($('div.swatch-option').hasClass('color')){ log($(this.attr('option-label')); } }); 试试: $('div.swatch-option.color').each(function() { console.log($(this).attr('option-lab
$(文档).ready(函数(){
if($('div.swatch-option').hasClass('color')){
log($(this.attr('option-label'));
}
});代码>
试试:
$('div.swatch-option.color').each(function() {
console.log($(this).attr('option-label'));
});
使用上面的代码片段,您将获得所有具有类.swatch选项和.color
-的div,然后使用$(this)
对它们进行迭代并访问它们的属性$(this)
在代码中没有上下文,您应该在div中循环,然后this
将引用div:
$(文档).ready(函数(){
$('div.swatch-option.color')。每个(函数(){
log($(this.attr('option-label'));
})
});代码>
您可以迭代所有样例选项
具有颜色
类的div,并选中选项标签
属性
$(文档).ready(函数(){
$('div.swatch-option.color')。每个(函数(){
log($(this.attr('option-label'));
});
});代码>
仅当您还需要其他条件时才使用此答案
我使用了.each
函数来查找所有div.swatch-option
,并且使用if()
条件,我只考虑了具有类.color
的div,如果不需要它,您可以删除它
$(文档).ready(函数(){
$('div.swatch-option')。每个(函数(){
if($(this).hasClass('color')){
//添加了此if()条件,考虑到其他div没有类'color'`
log($(this.attr('option-label'));
}否则{
//你想和其他没有颜色等级的部门合作吗
}
});
});代码>
您可以将id属性应用于类
<div class="swatch-option color " id="color" tabindex="-1" option-type="1" option-id="50" option-label="Red" option-tooltip-thumb="" option-tooltip-value="Red" style="background: Red no-repeat center; background-size: initial;"></div>
按照我的要求,用批准的答案写下我的答案-
$( document ).ready(function() {
$('div.swatch-option.color').each(function() {
var labelFetch = $(this).attr('option-label');
$(this).css('background',"none");
$(this).append(labelFetch);
});
});
我会这样做:$('div.swatch-option').each(function(){if($(this.hasClass('color')){console.log($(this.attr('option-label'));});感谢大家这么快的帮助,批准的答案是第一个。你有没有理由得到所有div.swatch-option
元素,然后检查他们是否有额外的类?使用$('div.swatch-option.color')
不,这不会改变任何东西,这在性能和速度上都是一个进步。除非你打算对没有类颜色的div做些什么,否则它毫无意义,速度慢,性能差。看看hsz(现在已被接受)的答案。if
语句根本不是必需的,它让你用classswatch选项来解析每一个div
,而不是仅仅针对正确的div。@Archer你说得对,兄弟,我只是先忘了这一点。我的错。ty用于纠正该错误。:)我的帖子在你之前就在这里:)@hsz,为什么你认为几秒钟或几分钟的延迟是重复的答案?我认为唯一的区别是当你发布你的时,其他人正在编辑他们的。所以没有复制答案的问题。@hsz,你和我的时间差是多少?两个不同的人有可能得到相同的答案吗?您是否在回答中创建了代码段,这需要时间吗?
$( document ).ready(function() {
$('div.swatch-option.color').each(function() {
var labelFetch = $(this).attr('option-label');
$(this).css('background',"none");
$(this).append(labelFetch);
});
});