我觉得这是一个愚蠢的简单问题,但我最近做了很多CSS工作,我觉得有点生疏。所以,我有几个带有classname:和class:attributes的按钮。基本上,我想要做的就是获取classname属性的值并将其附加到类。只有带有className的按钮才需要附加其内容。
classname="blah_btn blah_btnGrey" class="blah blah blah foo foo"
我会写一些类似的东西:
if ($('#ui-button').has("className")) {
$(("className").val()).appendTo("class");
或更多内容:
$("button").each(function() {
//do stuff
});
还是我在完全错误的球场?再一次,非常感谢任何帮助。
答案 0 :(得分:2)
首先,请不要使用属性调用className
。这是保留作为解决class
属性的方法,因为class
是javascript中的保留字。因此,如果您使用名称为class
和className
的属性,则最终可能难以在javascript中单独访问它们。这可能是一团糟。为实际上不是class
的那个选择一个更唯一的名称。
要添加class属性,只需使用.addClass()
:
$('#ui-button').addClass("blah_btn")
jQuery的`addClass()非常聪明,如果它已经存在,就不能添加它。
如果要获取属性并将其添加到实际类中,可以执行以下操作:
$('#ui-button').addClass($(elem).attr("myAttribute"));
如果您只想将一个属性添加到另一个属性,则可以执行以下操作:
var target = $('#ui-button');
target.attr(target.attr("myAttribute") + $(elem).attr("myAttribute"));
答案 1 :(得分:1)
这就是你需要的东西?
$.each($('#ui-button.className'), function() {
var $element = $(this);
$element.addClass($element.val());
});
答案 2 :(得分:-1)
这个怎么样?
$('button[className]').each(function(){
var classNameValue = $(this).attr('className');
var classValue = $(this).attr('class');
$(this).attr('class', classValue + classNameValue);
});