jQueryで要素の名前を取得するにはどうすればよいですか?


130

jQueryでHTML要素のnameプロパティを取得するにはどうすればよいですか?


名前を付けたい要素に関するいくつかのhtmlまたは少しでも多くの情報があれば、より具体的な答えが得られます。
パトリシア

4
.prop()プロパティの.attr()取得と属性の取得に使用します。.attr()誰もが示唆するようにプロパティを取得するために使用しないでください。ここでは、HTMLマークアップではなくJavaScriptを使用しています。

11
これを再開する必要があります。要点に到達し、「私はこのウェブサイトを持っている...」のような前置きをせずにアスカーに報酬を与えるべきです
cantera

@ cantera25:これを指摘してくれてありがとう..
Poonam Bhatt

回答:


221

あなたはattr('name')このように使うべきです

 $('#yourid').attr('name')

idセレクターを使用する必要があります。クラスセレクターを使用すると、コレクションが返されるために問題が発生します。


8
私はちょうど)(私はこれを使用する場合、未定義の値を取得または.propよ
HorusKol

1
prop( 'name')よりattr( 'name')を優先する理由はありますか?
ダリン

$(this).attr('name');はクラスセレクターを使用しましたが、$('.jobSelect').change(function() {問題は発生しませんでした。
オメルアン

14

使用するオブジェクトのプロパティ.propertyNameまたは["propertyName"]表記を読み取る。

これは要素についても同じです。

var name = $('#item')[0].name;
var name = $('#item')[0]["name"];

特にjQueryメソッドを使用したい場合は、.prop()メソッドを使用します。

var name = $('#item').prop('name');

属性とプロパティは必ずしも同じではないことに注意してください。


prop()checked属性ではなくブール型のプロパティ用だと思います
Nicola Peluchetti 2012年

2
@NicolaPeluchetti:.prop()DOM要素の任意のプロパティ用です。.attr()は非常に混乱したメソッドであり、異なるリリース間で動作が変更されており、プロパティが提供されることもあれば、属性が提供されることもあります。どちらの方法でも、適切なメソッドを使用して監視する必要のある属性とプロパティには違いがあります。

3
@NicolaPeluchetti:プロパティと属性の違いを示すを次に示します。

10
$('someSelectorForTheElement').attr('name');

idセレクターを使用する必要があります。クラスセレクターを使用すると、コレクションが返されるために問題が発生します
Nicola Peluchetti

2
idは最も具体的なyesですが、htmlと質問の詳細が完全に欠けているため、どのセレクターを使用するべきかを言うのは困難です。
パトリシア

5

このjsFiddleの例をいじってください

HTML:

<p id="foo" name="bar">Hello, world!</p>

jQuery:

$(function() {
    var name = $('#foo').attr('name');

    alert(name);
    console.log(name);
});

これは、jQueryの.attr()メソッドを使用して、一致したセットの最初の要素の値を取得します。

特にjQueryではありませんが、結果はアラートプロンプトとして表示され、ブラウザのコンソールに書き込まれます



弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.