2016-08-30 10 views
1

タグの属性を変数に追加して他の場所に挿入できるようにするにはどうすればよいですか?jQuery、タグ属性を取得して変数に割り当てる

だから、inputタグには、変数を割り当てる必要があります。

tags = { 'type' : 'submit' , 'id' : 'submit' }; 

私はあなたが.attr()を使用して属性を追加することができますが、

testMe = $("#submit").attr(); 

のようなものは動作しません知っています。

+0

'testMe ='を削除して 'attr()'に入れてください – depperm

+0

ここを見てください:http://stackoverflow.com/a/14645827/3611180 – pumpkinzzz

+0

入力に既に割り当てられているすべての属性を追加したい変数。だから、属性をタグに追加しようとするのではなく、属性をフェッチして変数に入れようとしています。 –

答えて

1

あなたは次のようにelement.attributesをループすることですべての属性を得ることができます:

$.each(document.getElementById("submit").attributes, function() { 
    tags[this.name] = this.value; 
}); 

・ホープ、このことができます。

var tags = {}; 
 

 
$.each(document.getElementById("submit").attributes, function() { 
 
    tags[this.name] = this.value; 
 
}); 
 

 
console.log(tags);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="submit" value="Submit" id="submit"/>

0

あなたが使用してオブジェクトへのノードの属性をマップすることができますjQueryので

var obj = {}; 
Array.from(node.attributes).forEach(function (attr) { 
    obj[attr.name] = attr.value; 
}); 

を、あなたは.map()を経由してマッピングを行うことができます。

$(..selector..).map(function() { 
    var obj = {}; 
    $.each(this.attributes, function() { 
    obj[this.name] = this.value; 
    }); 
    return obj; 
}); 

何あなたはobjecのコレクションです各ノードの属性を含むts。

次に、.get()を使用して、個々のノードの属性にアクセスできます。

関連する問題