1

これはばかげた単純な質問のように感じますが、最近 CSS の作業が多すぎて、少し錆びているように感じます。そのため、classname: 属性と class: 属性を持つボタンがいくつかあります。基本的に、私がやりたいことは、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

});

それとも、私は完全に間違った球場にいますか? 繰り返しますが、どんな助けも大歓迎です。

4

3 に答える 3

2

まず、属性 call を使用しないでくださいclassName。は javascript の予約語であるclassため、属性に対処する方法として予約されています。classそのため、 と の名前を持つ属性を使用するとclassclassNamejavascript で個別に到達するのが困難になる可能性があります。それは混乱する可能性があります。実際にはそうではない、よりユニークな名前を選んでください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"));
于 2012-09-06T23:52:49.767 に答える
1

それはあなたが必要なものですか?

$.each($('#ui-button.className'), function() {
    var $element = $(this);
    $element.addClass($element.val());
});
于 2012-09-06T23:50:38.370 に答える
-1

これはどう?

$('button[className]').each(function(){
   var classNameValue = $(this).attr('className');
   var classValue = $(this).attr('class');
   $(this).attr('class', classValue + classNameValue);
});
于 2012-09-06T23:54:41.153 に答える