2011-07-27 13 views
8

要素を検索していますが、whichtは親の名前を提供しています。これは:jquery取得する方法親の名前

  $('.Item').click(function(){ 
       var a = $(this).parent(); 
       alert(a[0].tagName); 
      }); 

単に「DIV」を言いますが、私は要素の本当の名前を必要としています。おかげ

+0

これはオブジェクトを返すためです。あなたがクラスまたはIDを指定したい場合。 – Mitch

+1

div要素にはname属性はありませんが、ほとんどのブラウザで追加できます。これは非標準的な属性なので、取得するにはjQueryの* attr *メソッドまたはDOM * getAttribute *メソッドを使用する必要があります: 'this.parentNode.getAttribute( 'name')'。 – RobG

答えて

11

次(アラートにタグ名を、その後、本名)試してみてください。

私は例えば$(a[0]).attr('name');

を使用

$('.Item').click(function() { 
     var a = $(this).parent(); 
     alert(a[0].nodeName.toLowerCase()); //Tag Name 

     alert($(a[0]).attr('name')); //Attribute (real) name 
     //OR 
     alert(a.attr('name')); //Attribute (real) name 
    }); 
+3

$(a [0])の代わりにa.attr( 'name')を使用してください。attr( 'name') – Darm

+0

Darm Retさん、ありがとうございました。 –

0

あなたは属性 "名前" あなたは(.ATTR使用する必要がありますを取得したい場合) $('.Item').click(function(){ var a = $(this).parent(); alert(a[0].attr("name")); });

1

は試してみてください。

var a = $(this).parent().attr('name'); 
+0

彼はdiv、input、span、navのように思っています...名前= "this"よりむしろ – Sparkup

+0

私は投票しませんでした。 – Sparkup

1

用途:

$('.Item').click(function(){ 
      var a = $(this).parent(); 
      alert(a.attr('name')); 
     }); 
1

あなたはこのために、プレーンJavascriptを使用することができます - この場合には(と思う)でも簡単です:

$('.Item').click(function() { 
    var parent = this.parentElement; 
    var tagName = parent.tagName; // tag name, like 'div', 'a', etc... 
    var name = parent.name // value of the 'name' attribute 
}); 

マイソース:JavaScript DOM。それを見て、あなた自身を助けてください。

編集:クリックイベントハンドラの中にラップされたコード。

1

var a = $(this).parent(); alert(a [0] .nodeName.toLowerCase()); //タグ名

alert($(a[0]).attr('name')); //Attribute (real) name 
    //OR 
    alert(a.attr('name')); //Attribute (real) name getting issue on this code 
関連する問題