※ ChatGPTを利用し、要約された質問です(原文:jqueryにてIEでの不具合 each処理?)
jQueryにてIEでの不具合 each処理?
このQ&Aのポイント
cromeやfirefoxでは正常に動作するが、IEでは一部動かないパーツがある
クリックしたボタンの数値があるULの色を変えるもので、100と300は正常に変わるが200は変わらない
<li>の中で最後に書かれている数値が効かなくなるようで、100と200を入れ替えると100が効かなくなる(IEのみ)
cromeやfirefoxでは正常に動きますが、IEにて一部動いてくれない部分があり困っています。
おかしな点や原因など教えていただきたくご質問させていただきます。
<style>
.that{color:red;}
</style>
<script type="text/javascript">
$(function(){
$('button').click(function(){
$('#list>ul').removeClass('that');
var val = $(this).text();
$('#list>ul li').each(function(){
if($(this).text() == val){
$(this).parent().addClass('that');
};
});
});
});
</script>
html↓
<button>100</button>
<button>200</button>
<button>300</button>
<div id="list">
<ul>
<li>100</li><li>200</li>
</ul>
<ul>
<li>300</li><li>200</li>
</ul>
</div>
クリックしたボタンの数値があるULの色を変えるものです。
100と300をクリックした場合は正常に変わりますが、200をクリックした時に変わらなくなります。
<li>の中で最後に書かれている数値が効かなくなるようで、<li>の100と200を入れ替えると100が効かなくなります。(IEのみ)
原因等わかりましたらよろしくお願いいたします。
お礼
ご回答ありがとうございます。 >"200 " 違う値が返ってくるんですね、標準モードで試してみましたがダメでした。 <ul> <li>100</li><li>200</li></ul> このやり方で動作したました!全てのhtmlを変えるとなると現実的ではないですが、 回避する手段を教えていただき大変助かりました。 もう少し探ってみたいと思います、 ありがとうございました!