3 回答

TA贡献1833条经验 获得超4个赞
我认为这段代码会对你有所帮助。我仅在此页面上对其进行了测试。:)
var words = ["color", "blue", "font-size", "100"];
for (var i = 0; i < words.length; i += 2){
$("#mainbar").css(words[i], words[i+1]);
}
此循环将帮助您添加任意数量的规则,因为您正在动态读取它们。

TA贡献1848条经验 获得超6个赞
一种方法是首先构建 css 对象并将其传递给 jQuery 函数:
let words = ["color", "blue", "font-size", "100"]; // these have been parsed from a file and formatted
const cssObj = {};
words.forEach((el,idx,arr) => {
if(!(idx % 2) && (idx + 2 <= arr.length) ){
cssObj[el] = arr[idx + 1]
}
});
$("#myid").css(cssObj); // This won't apply
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="myid">MyId Div</div>

TA贡献1802条经验 获得超6个赞
这是一种将 CSS 组合到一个对象中以一次性应用它的方法:
const words = ["color", "blue", "font-size", "100px"];
let cssObj = {};
for (var i = 0; i < words.length; i++){
cssObj = { ...cssObj, [words[i]]: words[i+1] }
}
$("#mainbar").css(cssObj);
添加回答
举报