来自JSON的jquery.addClass不是相应的工作
jquery.addClass from JSON isn't work correcly
http://jsfiddle.net/phongphan117/a212my20/我有一个 json 变量,并使用jquery.each()
编写 html 标签并为对象中添加类创建循环。如果你看看我的代码,它不能正常工作。如何解决它们?
var db = {
"class" : [
{
"appearance": ["red-bg", "white-text"]
},
{
"appearance": ["yellow-bg", "black-text"]
},
{
"appearance": "red"
},
{
"appearance": "yellow"
},
{
"appearance": ""
}
]
}
$.each(db.class, function (key, data) {
console.log(data);
$('main').append('<div class="box">text</div>');
for (i=0; i<data.appearance.length; i++) {
var classtext = data.appearance[i].toString();
$('.box').addClass(classtext);
}
});
header, main, footer { padding-left: 0px; }
.box { width: 100px; height: 100px; }
.red-bg { background-color: red; }
.yellow-bg { background-color: yellow; }
.white-text { color: white; }
.black-text { color: black; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.isotope/2.2.1/isotope.pkgd.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.96.1/css/materialize.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.96.1/js/materialize.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<main>
</main>
问题是,你传递了一些array
和一些strings
,所以当你有一个数组时,项目是里面的每个项目,即:
["red-bg", "white-text"]
[0] = "red-bg"
[1] = "white-text"
但是当它是一个字符串时,每个项目都是一个字母,即:
"red"
[0] = "r"
[1] = "e"
[2] = "d"
因此,您只需将class
数组更新为:
"class" : [
{
"appearance": ["red-bg", "white-text"]
},
{
"appearance": ["yellow-bg", "black-text"]
},
{
"appearance": ["red"]
},
{
"appearance": ["yellow"]
},
{
"appearance": [""]
}
]
您还必须更新每个函数,因为您要将类添加到同一.box
。
$('.box:last-child').addClass(data.appearance[i]);
现在,您将data.appearance
添加到上次插入的.box
中!
它会起作用的!请参阅JSFIDDLE https://jsfiddle.net/2z95ye56/1/
相关文章:
- jQuery addClass/removeClass在调试期间工作,但不能正常执行
- .addClass不工作(刷新时被删除)
- Jquery日期选择器addclass()不工作
- addClass 和 removeClass 无法正常工作
- Javascript addClass removeClass未按要求工作
- addClass()函数没有'ajax调用后无法工作
- 为什么不;我的jquery工作(使用延迟、hasclass、addclass、removeclass、keyUp、key
- HTML菜单上的addClass/removeClass是't工作
- addClass()在jQuery的if子句中未按预期工作
- 为什么我的addClass removeClass和事件处理程序不能按预期工作
- JavaScript的addClass不工作与PHP GET['page']
- jquery中的addClass不像我想的那样工作
- 为什么. addclass()和. removeclass()不能按预期工作?
- addClass脚本不能在导航元素上工作
- 在Backbone应用中使用addClass()和CSS过渡的渲染功能不能正常工作
- 不能得到onclick $(this).addClass来工作
- 我的javascript removeClass + addClass时,点击只在Chrome上工作,而不是Firefo
- jquery addClass和removeClass不像我预期的那样工作
- 来自JSON的jquery.addClass不是相应的工作
- 扩展jQuery addClass来接受回调——它是如何工作的