2012-08-27 77 views
1

您好我正在使用jquery函數獲取所有標籤屬性,現在我想將它們存儲到一個並追加到正文中,但無法找到如何完成它的方式。這裏是fiddle鏈接在jquery中添加兩個以上的變量到一個變量

<head> 
<script type="text/javascript"> 
$(function(){ 
$('a').click(function(){ 
var name= $(this).attr('name'); 
var href= $(this).attr('href'); 
var jj= $(this).attr('class'); 
var user_id= $(this).attr('user_id'); 
var page_type= $(this).attr('page_type'); 
var price= $(this).attr('price'); 
var bonus= $(this).attr('bonus'); 
var wrapper= $(this).attr('wrapper'); 
var token= $(this).attr('token'); 
var own= $(this).attr('own'); 
$('body').append('<div>'+name+'<div>') 
})}) 
</script> 
</head> 
<body> 
<a id="profile_2902" name="b_now" href="#" class="big_now" user_id="152402569967" page_type="profile" price="292" bonus="0" wrapper="5972569967" token="e644ce48aa43dc3caa348745a" own="4100447132"> 
Click now! 
</a> 
</body> 
+0

您可以向我們展示一下您希望輸出的樣本嗎? – Lix

回答

1

你可以使用原始的js獲得所有屬性和使用jQuery像這樣打印出來:

var el = document.getElementById("someId"); 
var arr = []; 
for (var i=0, attrs=el.attributes, l=attrs.length; i<l; i++){ 
    arr.push(attrs.item(i).nodeValue); 
} 
$('body').append('<div>'+arr.join(", ")+'<div>'); 

Working fiddle example here

+0

你的功能是什麼項目,它有什麼用處 – Carlos

+0

它從attrs數組中獲取一個項目 – Asciiom

+0

項目是javascript的方法嗎?以及爲什麼我們不能使用attrs [i] – Carlos

1

您可以使用下面這個函數讀取所有屬性並將它們推入陣列中。

DEMO:http://jsfiddle.net/cuyfK/1/

var el = this, arr = [], it; 
    for (var i = 0, attrs = el.attributes, l = attrs.length; i < l; i++) { 

     it = attrs.item(i); 

     if (it.nodeName == 'id') { 
      arr.push(it.nodeName + '="' + it.nodeValue + '_fixed"'); 
     } else { 
      arr.push(it.nodeName + '="' + it.nodeValue + '"'); 
     } 
    } 

或可能是你想要把一個數組中的特定ATTR值..嘗試下面,

$(function() { 
    $('a').click(function() { 
     var attr = []; 
     attr.push($(this).attr('name')); 
     attr.push($(this).attr('href')); 
     attr.push($(this).attr('class')); 
     attr.push($(this).attr('user_id')); 
     attr.push($(this).attr('page_type')); 
     attr.push($(this).attr('price')); 
     attr.push($(this).attr('bonus')); 
     attr.push($(this).attr('wrapper')); 
     attr.push($(this).attr('token')); 
     attr.push($(this).attr('own')); 

     $('body').append('<div>' + attr.join(' ') + '<div>') 
    }); 
}); 
+0

爲什麼你在你的功能 – Carlos

+0

+1爲你的努力使用項目 – Carlos

1

使用一個數組來存儲你想要查找的屬性,然後就遍歷與$.each該數組找到所有的值,並將其concentenate成一個字符串,並附加它們都一氣呵成更有效率:

$(function(){ 
    var attributes = ['name', 'href', 'class', 'user_id', 'page_type', 
         'price', 'bonus', 'wrapper', 'token', 'own'] 

    $('a').on('click', function(){ 
     var html='', self=this; 
     $.each(attributes, function(i,e) { 
      html += '<br><div>'+e+' : '+$(self).attr(e); 
     }); 
     $('body').append(html); 
    }); 
});​ 

FIDDLE