以下のソースでtest_idが123だけで来た場合に

複数の場所の背景を設定したいのですが
どうしたらいいのでしょうか?

<table>
<tr><td ID=123>1</td><td ID=123>2</td></tr>
<tr><td>3</td><td>4</td></tr>
</table>

<script type="text/JavaScript">
<!--

var test_id = getEntry();
var test_id_list = entryParser(test_id);

for (i in test_id_list){
var obj = document.getElementById(test_id_list[i]);
if (obj != null){
obj.style.backgroundColor="#FFCC66";
}
}

function linkExtend(_this){
if (test_id != ''){
_this.href += '&test_id=' + test_id;
}
}

function entryParser(){
var plainEntry = getEntry();
return entry.match(/(\d+)/g);
}

function getEntry(){
var url = document.URL;
if (url.match(/\/test_id\/([\d_]+)/)){
return RegExp.$1;
} else if (url.match(/[&|\?]test_id=([\d_]+)/)){
return RegExp.$1;
}
return '';
}

//-->

回答の条件
  • 1人2回まで
  • 登録:2006/08/02 17:07:28
  • 終了:2006/08/03 15:25:21

回答(2件)

id:llusall No.1

llusall回答回数505ベストアンサー獲得回数612006/08/02 17:32:50

ポイント35pt

こちらでいかがでしょうか?

以下、ソースより抜粋しています。


<html>

<body>

    <table id="tbl">

        <tr><td ID=123>1</td><td ID=123>2</td></tr>

        <tr><td>3</td><td>4</td></tr>

    </table>

</body>

<script type="text/JavaScript">

<!--

var test_id = getEntry();

var test_id_list = entryParser(test_id);

if (test_id_list.length==1 && test_id=="123"){

    // test_idが 123 だけで来た場合、テーブル全体の背景を設定

    document.all.tbl.style.backgroundColor="#FFCC66";

}else{

    for (i in test_id_list){

        var obj = document.getElementById(test_id_list[i]);

        if (obj != null){

            obj.style.backgroundColor="#FFCC66";

        }

    }

}

id:hopefully

すいません。test_IDは固定ではありません。

2006/08/02 17:53:34
id:tawazou No.2

tawazou回答回数33ベストアンサー獲得回数72006/08/03 14:49:57

ポイント35pt

的外れだったらごめんなさい。

document.getElementById(ID) で取得する際、IDが一意になっていないため、うまく取れていないのだと思います。

以下ではいかがでしょうか?


<html>

<body>

<table>

<tr>

    <td id=123>1</td>

    <td id=123>2</td>

  </tr>

  <tr>

    <td>3</td>

    <td>4</td>

  </tr>

</table>

<script>

// TDエレメントを全て取得

var objTds = document.getElementsByTagName("td");

// 対象のID値を取得

var targetId = getXX();

// 全TDエレメント繰り返し

for (i = 0; i < objTds.length; i++) {

  objTd = objTds[i];

  // ID属性が対象のIDの場合、背景を設定

  if (objTd.id == targetId) {

    objTd.style.backgroundColor = "#FFCC66";

  }

}

// 対象のID値を取得

function getXX(){

  // 実際はURLから取得???

  return "123";

}

</script>

</body>

</html>

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません