jQuery hasAttrは、要素に属性があるかどうかをチェックします[重複]
Jquery Hasattr Checks Whether Element Has Attributes
この記事の翻訳元: jQuery hasAttrは、要素に属性があるかどうかを確認します[重複]
重複の可能性: 繰り返される可能性があります:
JQueryで属性の存在を確認してください JQueryを使用して、属性が存在するかどうかを確認します
jQueryの要素に属性があるかどうかをどのように確認しますか? jQueryの要素に属性があるかどうかをどのように確認しますか? hasClass
に似ています、ただしattr
? 対hasClass
同様ですがattr
?
例えば、 例えば、
if ($(this).hasAttr('name')) { // ... }
#1階
参照: https://stackoom.com/question/5WtI/jQuery-hasAttr要素に属性があるかどうかを確認します-重複
#2階
あなたはとても近くにいるのでクレイジーです。 あなたは近すぎます、それはクレイジーです。
if($(this).attr('name'))
hasAttrはありませんが、属性を名前でヒットすると、属性が存在しない場合はundefinedが返されます。 hasAttrがないが、名前で属性をヒットすると、未定義のみが返されます(存在しない場合)。
これが以下が機能する理由です。 これが以下の理由です。 #headingからname属性を削除すると、2番目のアラートが発生します。 name属性が#headingから削除されると、2番目のアラートがトリガーされます。
更新: コメントによると、以下は のみ 属性が存在する場合は機能します そして 属性が存在するが空の場合は何かに設定されます 更新: コメントによると、属性が存在する場合 、 次に、次のようになります のみ 動作し、属性は存在するが設定されていない場合 、 次に空に設定します
$(document).ready(function() { if ($('#heading').attr('name')) alert('Look, this is showing because it's not undefined') else alert('This would be called if it were undefined or is there but empty') })
#3階
var attr = $(this).attr('name') // For some browsers, `attr` is undefined for others, // `attr` is false. Check for both. if (typeof attr !== typeof undefined && attr !== false) { // ... }
#4階
属性の存在を頻繁にチェックする場合は、hasAttr
を作成することをお勧めします。関数、あなたがあなたの質問で仮定したように使用するために: 属性の存在を頻繁にチェックする場合は、a hasAttr
関数を作成して、質問で使用されると想定できるようにすることをお勧めします。
$.fn.hasAttr = function(name) { return this.attr(name) !== undefined } $(document).ready(function() { if($('.edit').hasAttr('id')) { alert('true') } else { alert('false') } }) Test field
#5階
これを行う最良の方法は、filter()
を使用することです。 : これを行う最良の方法は、filter()
を使用することです。 :
$('nav>ul>li>a').filter('[data-page-id]')
.hasAttr()があると便利ですが、存在しないため、この方法があります。 .hasAttr()があると便利ですが、存在しないため、そのような方法があります。
#6階
次のように、フォームフィールドのdisabled = 'disabled'などの属性で使用することもできます。 以下に示すように、フォームフィールドなどでdisabled = 'disabled'などの属性を使用することもできます。
$('#change_password').click(function() { var target = $(this).attr('rel') if($('#' + target).attr('disabled')) { $('#' + target).attr('disabled', false) } else { $('#' + target).attr('disabled', true) } })
'rel'属性は、ターゲット入力フィールドのIDを格納します。 'rel'属性は、ターゲット入力フィールドのIDを格納します。