2014-09-27 77 views
-1

我想要使用jQuery 1.10.2更改DOM元素(特别是标签标签)的类属性。如何使用jQuery更改多个DOM元素的CSS类?

这里是我的代码:

var MyNameSpace = MyNameSpace || {}; 
 
MyNameSpace.enableDisableLabels = (function() { 
 
    var m_labelIds = { 
 
    "bookId": "book", 
 
    "customerId": "customer" 
 
    }; 
 

 
    var mf_getjQueryDOMObjectReperesentation = function(arrayObjIds) { 
 
    var result = {}; 
 
    $.each(arrayObjIds, function(id, value) { 
 
     result[id] = $("#" + value); 
 
    }); 
 
    return result; 
 
    }; 
 

 
    var mf_unBoldLabels = function(arrayjQueryObjLabels) { 
 
    $.each(arrayjQueryObjLabels, function(id, value) { 
 
     value.atrr("class", "outputLabelOpt"); // PROBLEM: TypeError: value.atrr is not a function 
 
    }); 
 
    }; 
 

 
    var arrayjQueryObjLabels = mf_getjQueryDOMObjectReperesentation(m_labelIds); 
 
    mf_unBoldLabels(arrayjQueryObjLabels); 
 

 
}());
.outputLabelOpt { 
 
    color: #0B63CA; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
 

 
<body> 
 
    <label id="book" style="font-weight:bold">book</label> 
 
    <label id="customer" style="font-weight:bold">customer</label> 
 
</body>

但我得到一个错误:
类型错误:value.atrr不是一个函数

你能请告知我是什么做错了,以及如何正确地做到这一点。
非常感谢任何形式的帮助。

谢谢你在前进,
mismas

+1

你有一个错字;它是'attr()',而不是'atrr()'。 – 2014-09-27 16:38:54

+0

我不明白为什么我被拒绝投票支持这个问题?这是我所有的工作。问题是输入错误,但这个问题也许可以帮助某人(初学者),例如如何用jQuery为多个DOM元素调用css类。我不太明白这里有什么违反规则的事情?请解释一下你自己...... – mismas 2014-09-28 10:25:45

回答

3

只是一个错字:它不是atrr,但attr ;-)

+0

你真是太棒了!我的眼睛今天很疲倦:) – mismas 2014-09-27 17:13:11

+0

我不明白为什么我投下了这个问题呢? – mismas 2014-09-27 17:24:40

1

这是value.attr.atrr

对于class属性操作,您还有.addClass("classname").removeClass("classname")

+1

实际上,在这里,数组的值真的是jQuery对象: 'result [id] = $(“#”+ value);',所以这不是问题;-) – laruiss 2014-09-27 16:45:00