2012-11-17 129 views
2

我是新來的jQuery。我如何獲得名稱,ID或類名稱的元素與jquery.I'm嘗試作爲;我如何獲得ID,類或名稱attr元素與jquery

<div class="className" onclick="getname();"></div> 
<div id="idName" onclick="getName();"></div> 
<div name="attrName" onclick="getName()"></div> 

function getName(){ 
attrName = $(this).attr("name"); 
alert(attrName); 
} 

但不工作

回答

3

試試這個:

的JavaScript

$(function() { 
    $('div').click(function() { 
     var elem = $(this); 
     alert('Class: ' + elem.attr('class')); 
     alert('Id: ' + elem.attr('id')); 
     alert('Name: ' + elem.attr('name'));  
    });​​​​ 
}); 

HTML

<div class="className" onclick="getname();"></div> 
<div id="idName" onclick="getName();"></div> 
<div name="attrName" onclick="getName()"></div> 

CSS

​div { 
    width: 100px; 
    height: 100px; 
    border: 1px solid black; 
}​ 

的jsfiddle:http://jsfiddle.net/54ynV/

在上面的腳本我們連接到每一個div的單擊事件$('div').click...在頁面上。在回調中,我們得到它的屬性。

3

首先使用jQuery,你應該附加click()處理程序,而不是使用陳舊的onclick屬性。然後,您可以按照您在功能中使用的方式使用this關鍵字。

試試這個:你選擇都可以通過POJS

<div class="className"></div> 
<div id="idName"></div> 
<div name="attrName"></div> 
$(function() { 
    $("div").click(function() { 
     var name = this.name; 
     var cls = this.className; 
     var id= this.id; 

     alert("Name: " + name + "/Class: " + cls + "/Id: " + id); 
    }); 
}); 

Example fiddle

的屬性,你也可以轉換到this一個jQuery對象來獲取其他屬性,例如:

var title = $(this).attr('title'); 
var myattribute = $(this).data('myattribute'); // using HTML5: <div data-myattribute="foo"></div> 
+0

爲什麼你重新聲明'var'三次(超過必要的兩倍),使用'name'兩次而不是'this.className'? –

+0

@DavidThomas對不起,正在忙着做小提琴演示。錯誤修復。我也用'attr()'來演示,會做一個筆記。 –

+0

'this.name'未定義,至少在Chrome上; 'this.getAttribute('name')'給出期望值。 –

1

您需要通過ref選擇要獲取名稱屬性的元素。試試這個:

jQuery的

function getName(me) { 
    attrName = $(me).attr("name"); 
    alert(attrName); 
}​ 

HTML

<div class="className" onclick="getname(this);">a</div> 
<div id="idName" onclick="getName(this);">b</div> 
<div name="attrName" onclick="getName(this)">c</div>​ 

jsFiddle example

現在你應該得到的最後一個元素的名字,因爲這是具有名稱的唯一元素。其他人將返回undefined

+1

非常感謝你解決了問題 – regxcode