12

属性IDがjQueryに存在するかどうかを確認するにはどうすればよいですか?

私は周りを検索し、これが機能するはずであることがわかりました:

if ($(this).attr('id').attr('id'))
{

}

私はまだこのエラーが発生します: TypeError: Object Gauge1 has no method 'attr'

4

6 に答える 6

22

これ自体は機能します:

if($(this).attr("id"))

問題に関する既存の jsfiddle を確認してください: http://jsfiddle.net/rwaldron/wVqvr/4/

于 2012-09-27T16:15:48.253 に答える
9

昔のやり方でやってみる

if (this.id) { 
    //do something
}
于 2012-09-27T16:16:04.610 に答える
7

isメソッドHas Attribute Selectorを使用できます。

if ($(this).is('[id]')) {

}
于 2012-09-27T16:17:31.037 に答える
2

if ($(this).attr('id')){ alert(id); }

于 2013-07-31T11:29:05.350 に答える
0

HTML:

<div class="hey"></div>
<div class="you" id="woah"></div>
<div id="results"></div>​

jQuery:

var id = $('div.hey').attr('id');
if (id) {
    // Have an id.
} else {
    // Don't have an id.
}

フィドル: http: //jsfiddle.net/NEVYT/

于 2012-09-27T16:19:53.657 に答える
0

プレーンな js オブジェクトを使用することもできます

if( this.id !== undefined && this.id.length > 0 ){
 //todo: use id
}
于 2012-09-27T16:16:27.567 に答える