人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

javascriptの質問です
<HTML><script>
window.onload = function() {
var trs = document.getElementsByTagName("tr");
for (var i = 0 ; i < trs.length ; ++i) {
var ans = trs[i].children.item(3)
re_ans = new RegExp("^[" + ans.innerHTML + "]");
var ele_q = trs[i].children.item(2)
var ele = ele_q.firstChild
do {
if (ele.nodeType == 3) {
if (re_ans.exec(ele.nodeValue)) {
var wrap = document.createElement("span")
wrap.style.backgroundColor = "#ffff00";
ele_q.insertBefore(wrap, ele);
wrap.appendChild(ele);
ele = wrap;
}
}
} while (ele = ele.nextSibling);
}
}
</script>
<body><table border="1">
<tr>
<td>第1回</td>
<td>1問目</td>
<td>赤いものはどれか<BR> <BR><BR>a <I>りんご</I><BR>b <I>みかん</I><BR>c <I>いちご</I><BR>d <I>郵便ポスト</I><BR>e <I>消防車</I><BR></td>
<td>acde</td>
</tr>
<tr>
<td>第1回</td>
<td>2問目</td>
<td>オレンジ色のものはどれか<BR> <BR>a りんご<BR>b みかん<BR>c いちご<BR>d 郵便ポスト<BR>e 消防車<BR></td>
<td>b</td>
</tr>
</table></body></html>

というhtmlを実行したのですが
第一回 1問目 の問題の斜線の選択肢は黄色になりません。
javascriptのどこを変えたら斜線部分も黄色になるのでしょうか?

●質問者: takanii
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● gatchan
●48ポイント

コードがいったい何をしたいのか...

黄色にするだけなら
http://jsfiddle.net/vTDZD/
因みに、↑はdocument上のタグi全てを対象としてます


2 ● a-kuma3
●152ポイント ベストアンサー

前の質問と考え方は同じで、先頭のスクリプト部分を差し込んでください。
黄色にする文字を見つけてから、次の <BR> が出てくるまで黄色にするようにしてみました。

<HTML>
<!-- ここから -->
<script>
window.onload = function() {
 var trs = document.getElementsByTagName("tr");
 var need_mark = false;
 for (var i = 0 ; i < trs.length ; ++i) {
 var ans = trs[i].children.item(3)
 re_ans = new RegExp("^[" + ans.innerHTML + "]");
 var ele_q = trs[i].children.item(2)
 var ele = ele_q.firstChild
 do {
 if (ele.nodeType == 3) {
 if (re_ans.exec(ele.nodeValue)) {
 need_mark = true;
 }
 } else if (ele.nodeType == 1 && ele.nodeName == "BR") {
 need_mark = false;
 }
 if (need_mark) {
 var wrap = document.createElement("span")
 wrap.style.backgroundColor = "#ffff00";
 ele_q.insertBefore(wrap, ele);
 wrap.appendChild(ele);
 ele = wrap;
 }
 } while (ele = ele.nextSibling);
 }
}
</script>
<!-- ここまでを追加します -->
<body><table border="1">
<tr>
<td>第1回</td>
<td>1問目</td>
<td>赤いものはどれか<BR> <BR><BR>a <I>りんご</I><BR>b <I>みかん</I><BR>c <I>いちご</I><BR>d <I>郵便ポスト</I><BR>e <I>消防車</I><BR></td>
<td>acde</td>
</tr>
<tr>
<td>第1回</td>
<td>2問目</td>
<td>オレンジ色のものはどれか<BR> <BR>a りんご<BR>b みかん<BR>c いちご<BR>d 郵便ポスト<BR>e 消防車<BR></td>
<td>b</td>
</tr>
</table></body></html>
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ