2017-02-16 1 views
0

HTMLを解析する前に開く必要があるページにいくつかのよくある質問があります。回答のテキスト値が隠されているためHTMLを解析するときに空になりますページのJavaScriptでページ上のすべてのaria-expandedをfalseに変更します

ブラウザで以下のコードを使用すると、すべてのリンクが返されますが、「aria-expanded」属性は「false」に変更されません。

$('a').each(function() { this.setAttribute('aria-expanded', 'false')}); 

答えて

1

jQueryの方法が動作するはずです:

$(function() { 
    $('a').each(function() { 
     $(this).attr('aria-expanded', 'false') 
    }); 
}); 
+0

は私が後に戻って得るものですあなたのコードを実行しています:$(function(){$( 'a')} each(function(){$(this).attr( 'aria-expanded'、 'false')});}); オブジェクト{context:HTMLDocument→newsite、length:1,1、more ...} 'mozHidden'と 'mozVisibilityState'は非推奨です。代わりに固定されていない 'hidden'と 'visibilityState'を使用してください。 – kellykels21

+0

@ kellykels21ポストをブラウザの名前とバージョンとjqueryのバージョンで更新できますか? – smarber

0

を私はthisがしたいオブジェクト(タグ)を参照していることを信じていません。次のコードを試してみてください。

$('a').each(function(index, obj) { $(obj).attr('aria-expanded', 'false') }); 
+0

これは私のコードと同じオブジェクトを返しました。 – kellykels21

0

setAttributeはネイティブJavaScript関数です。 jqueryのattr()を使用します。

$( 'a')。それぞれ(function(){this.attr( 'aria-expanded'、 'false')});

+0

何らかの理由でFirefoxはthis.attr()が関数ではないと言っています?? – kellykels21

+0

これは現在のスコープで定義されていません。 各関数コールバックは、引数と現在の要素として引数をとります。 を試してみてください: $( 'a')。each(function(index、element){$(element).attr( 'aria-expanded'、 'false')}); –

関連する問題