4

私はjqueryを初めて使用します。jqueryで要素の名前、ID、またはクラス名を取得するにはどうすればよいですか。

<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);
}

しかし、動作しません

4

3 に答える 3

4

これを試して:

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...。コールバックで、その属性を取得しています。

于 2012-11-17T21:36:00.613 に答える
4

最初に jQuery を使用すると、時代遅れの属性click()を使用するのではなく、ハンドラーをアタッチする必要があります。onclick次に、関数で使用するthis方法でキーワードを使用できます。

これを試して:

<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);
    });
});

フィドルの例

選択した属性はすべて POJS で使用できます。jQuerythisオブジェクトに変換して、他の属性を取得することもできます。次に例を示します。

var title = $(this).attr('title');
var myattribute = $(this).data('myattribute'); // using HTML5: <div data-myattribute="foo"></div>
于 2012-11-17T21:36:10.930 に答える
1

name 属性を取得する要素への参照を渡す必要があります。これを試して:

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 の例

名前を持つ唯一の要素であるため、最後の要素の名前を取得する必要があります。他の人は戻ってきundefinedます。

于 2012-11-17T21:36:34.780 に答える