2

下記get the elementClass Name

var Tag = replaceContentInContainer('className');

function replaceContentInContainer(matchClass) {
    var elems = document.getElementsByTagName('*'), i;
    for (i in elems) {
        if ((" " + elems[i].className + " ").indexOf(" " + matchClass + " ") > -1) {
        }
    }
}

私はこのタグを持っており、属性onclickを持っています。style

私の質問は、どうすればonclick/styleこのタグの属性を削除/追加できJavaScriptますか?

4

4 に答える 4

2

HTML5は、メソッドgetElementsByClassName()を定義します。これにより、クラス属性の識別子に基づいてドキュメント要素のセットを選択できます。

var elts = document.getElementsByClassName("className");

for(var e = 0; e < elts.length; e++) { // For each element
   var elt = elts[e];
   elt.removeAttribute("style");
   elt.removeAttribute("onclick");
}

removeAttribute()
removeAttribute()は、この要素から名前付き属性を削除します。存在しない属性を削除する試みは、黙って無視されます。

setAttribute()
このメソッドは、指定された属性を指定された値に設定します。その名前の属性がまだ存在しない場合は、新しい属性が作成されます。

hasAttribute()
このメソッドは、この要素に指定された名前の属性がある場合はtrueを返し、それ以外の場合はfalseを返します。

https://developer.mozilla.org/en/DOM/element.removeAttribute

于 2012-04-16T10:51:51.573 に答える
1
​$(function(){
    $(".className").removeAttr("onclick style");       
});​

http://jsfiddle.net/Curt/h6CT9/

于 2012-04-16T10:36:43.490 に答える
1

JQueryを使用すると、クラスセレクターを使用してから、removeattr関数を使用して関連する属性を削除できます。

$('.className').removeAttr('click style')

一部のクラスを追加および削除するには:

$('.className').addClass('className').removeClass('newlyaddedClass')
于 2012-04-16T10:37:14.693 に答える
0
var Tag = replaceContentInContainer('className');
for(var i = 0; i < Tag.length; i++){
   Tag[i].removeAttribute('onclick');
   Tag[i].removeAttribute('style');
}

アップデート

申し訳ありませんが、あなたのコードを間違って見ました。私はあなたの関数がそのクラス名を持つ要素の配列を返していると仮定しました...だから、あなたの関数を使用して:

function replaceContentInContainer(matchClass) {
    var elems = document.getElementsByTagName('*'), i;
    for (i in elems) {
        if ((" " + elems[i].className + " ").indexOf(" " + matchClass + " ") > -1) {
           elems[i].removeAttribute('onclick');
           elems[i].removeAttribute('style');
        }
    }
}
于 2012-04-16T10:30:40.177 に答える