以下のような<table>があり、<tr>配下の<input type="hidden">のvalue属性値を空にしたいのです。
<table>
<thaed>
<tr><td>No.</td><td>タイトル</td></tr>
<tbody id="p2146-tbody"><tr><td>1</td><input type="hidden" name="ids[]" value="123" /><td><input type="text" name="chapts[]" size="20" value="" /></td><tr>
<tr><td>1</td><input type="hidden" name="ids[]" value="124" /><td><input type="text" name="chapts[]" size="20" value="" /></td><tr>
<tr><td>1</td><input type="hidden" name="ids[]" value="125" /><td><input type="text" name="chapts[]" size="20" value="" /></td><tr>
</tbody>
</table>
上から三番目の<tr>の子ノード<input type="hidden" name="ids[]" value="125" />のvalue値を
value="" に変化させたいのです。
firefoxでは、以下のスクリプトで変化させれましたが、IEではダメでした。
function chgValue() {
var tbody = document.getElementById("p0518-tbody");
var list = tbody.childNodes[2];
var input = list.childNodes[0];
input.value = "222";
return false;
}
IEでは、値が変わりません。
どのようにノードを取得したらよいのでしょうか?
毎回getElementByIdでtbodyを探さずに、onclick="addList(this)" のthisを基点に探したほうが賢い。
2012/06/01 16:28:40childNodesで辿らずに、thisを基点に探したほうが賢い。
と思います。
度々ご返信いただきありがとうございます。
2012/06/01 18:30:38また、なかなか返答ができず、すみません。
https://gist.github.com/2849594
でご提示いただいたコードで、IE8 & Firefox3.6 で正常に動くことを
確認しました。期待した動きでした。
ありがとうございます。
また、それに関連したアドバイス・ご指導をいただきまして大変勉強になりました。
本当にありがとうございました。