jQueryでオブジェクト内を取得する
htmlソースコードに下記のようにリンクがあり、これらのリンクに共通のパラメータを付与したい場合、jQueryで取得したのちにループで回してパラメータを付与していく必要がある。
<a href="https://sample.co.jp/AAAAA" target="_blank"> <a href="https://sample.co.jp/BBBBB" target="_blank"> <a href="https://sample.co.jp/CCCCC" target="_blank"> <a href="https://sample.co.jp/DDDDD" target="_blank">
やりたい内容をJavaScriptで記述することこんな感じ
var para = '?test=1111'; var hoge = document.getElementsByTagName("a"); for(var i=0; i<hoge.length; i++){ var tmp = hoge[i].getAttribute('href'); tmp = tmp + para; hoge[i].setAttribute('href',tmp); }
同様の処理をjQueryで記述するとこんな感じ
var para = '?test=1111'; var hoge = $("a[href *='sample']"); for(var i=0;i<hoge.length; i++){ var tmp = hoge.eq(i).attr('href'); tmp = tmp + para; hoge.eq(i).attr('href') }
試してないけど動くはず。。
ポイントはdocument.getElementsBy...
で取得した結果は配列ではなくオブジェクトであるということ。
JavaScriptでは配列のように[]を用いて指定できるが、jQueryを用いる場合はeq()
で指定する。