iQueryでタブの属性を取得・設定する時 attr()を使ってできると思っていました。
しかし、残念ながらいい結果が得られませんでした。
attr()のかわりに css()を使って何とか期待の結果を得ることができました。
以下はその実験をしたときのコードです!
変数xには値がセットされますが、変数yは undefined のままです。
この場合、なぜattr()はうまく機能しないのでしょうか。その理由を教えて頂きたいです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/01/27 08:15
回答2件
0
colorという属性が設定されていないからでは?
もちろん変な属性はつけない方がいいです
それをやるのがcssメソッドでしょう
javascript
1<script> 2$(function(){ 3 console.log([ 4 $('#test1').attr('color'), 5 $('#test2').attr('color'), 6 $('#test3').attr('color'), 7 $('#test4').attr('color'), 8 ]); 9 console.log([ 10 $('#test1').css('color'), 11 $('#test2').css('color'), 12 $('#test3').css('color'), 13 $('#test4').css('color'), 14 ]); 15}); 16window.addEventListener('DOMContentLoaded', ()=>{ 17 console.log([ 18 test1.getAttribute('color'), 19 test2.getAttribute('color'), 20 test3.getAttribute('color'), 21 test4.getAttribute('color'), 22 ]); 23 console.log([ 24 getComputedStyle(test1).color, 25 getComputedStyle(test2).color, 26 getComputedStyle(test3).color, 27 getComputedStyle(test4).color, 28 ]); 29}); 30</script> 31<style> 32#test3{color:lime;} 33#test4{color:lime !important;} 34</style> 35<font id="test1" color="red">1</font> <!-- color属性を反映して赤くなる --> 36<font id="test2" color="red" style="color:blue">2</font> <!-- style属性のcolorを反映して青くなる --> 37<font id="test3" color="red" style="color:blue">3</font> <!-- スタイルシートよりstyle属性が勝つので青--> 38<font id="test4" color="red" style="color:blue">4</font> <!-- スタイルシートを優先して緑になる -->
jQueryと生jsとの比較です
投稿2022/01/27 08:16
編集2022/01/27 09:06総合スコア114843
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/01/27 08:30
2022/01/27 08:40 編集
2022/01/27 08:48
2022/01/27 08:53 編集
0
ベストアンサー
その属性が書かれていなかったのでは。
これは古い属性です。代わりに CSS の color プロパティを使用して下さい。
HTML 属性リファレンス - HTML: HyperText Markup Language | MDN
投稿2022/01/27 08:18
総合スコア36115
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/01/27 08:37
2022/01/27 08:42
2022/01/27 08:47
2022/01/27 13:08
2022/01/28 01:42
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。