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

以下のソースで、test_idで渡されたIDを持っているtdの背景色を変更する場合
javascriptをどのように変更すればいいでしょうか??
test_idは123と231など色々なIDが渡されます。

■1ページ目-----------------------------------------------------------------
<html>
<body>
<a href="0.html?test_id=123#3">次ページの3の場所にジャンプ(真ん中表示)</a>
</body>
</html>
■2ページ目-----------------------------------------------------------------
<html>
<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 '';
}

//-->

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

●質問者: hopefully
●カテゴリ:就職・転職 ウェブ制作
✍キーワード:href JavaScript regexp URL ジャンプ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● llusall
●35ポイント

何度もすみません。

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


■1ページ目-----------------------------------------------------------------

<html>

<body>

<a href="0.html?test_id=123#3">次ページの3の場所にジャンプ(真ん中表示)123</a><br><br>

<a href="0.html?test_id=231#3">次ページの3の場所にジャンプ(真ん中表示)231</a><br><br>

</body>

</html>


■2ページ目-----------------------------------------------------------------

<html>

<body onload="ajustCenter();">

    <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>

    <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>

    <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>

    <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>

    <table>

        <tr ID=123><td ><a name="1">1</td><td>2</td></tr>

        <tr ID=231><td ><a name="3">3</td><td>4</td></tr>

    </table>

    <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>

    <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>

    <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>

    <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>

</body>

</html>

<script type="text/JavaScript">

<!--

function ajustCenter(){

    var id = "";

    var ls = location.search;

    var lh = location.hash;

    if(lh==""){

        //アンカが未指定な場合は、何もしない

    }else{

        //アンカが指定されたので真中になるように調整

        location.href=lh; // scrollTopが上手く取れないので追加

        document.body.scrollTop = document.body.scrollTop - (document.body.clientHeight / 2);

    }

    if (ls.match(/\/test_id\/([\d_]+)/)){

        id = RegExp.$1;

    } else if (ls.match(/[&|\?]test_id=([\d_]+)/)){

        id = RegExp.$1;

    }

    var obj = document.getElementById(id);

    if (obj != null){

        obj.style.backgroundColor="#FFCC66";

    }

}

//-->

</script>

◎質問者からの返答

すいません。ありがたいのですが

どうしてもtest_idは同じ値で複数存在

してしまうんです。

そこをどうにかしたくて・・・


2 ● llusall
●35ポイント

何度もすみません。

リベンジさせてください。



■1ページ目-----------------------------------------------------------------

<html>

<body>

<a href="0.html?test_id=123#3">次ページの3の場所にジャンプ(真ん中表示)123</a><br><br>

<a href="0.html?test_id=231#3">次ページの3の場所にジャンプ(真ん中表示)231</a><br><br>

</body>

</html>


■2ページ目-----------------------------------------------------------------

<html>

<body onload="ajustCenter();">

    <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>

    <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>

    <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>

    <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>

    <table>

        <tr><td id=123><a name="1">1</td><td id=123>2</td></tr>

        <tr><td id=231><a name="3">3</td><td id=231>4</td></tr>

    </table>

    <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>

    <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>

    <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>

    <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>

</body>

</html>

<script type="text/JavaScript">

<!--

function ajustCenter(){

    var id = "";

    var ls = location.search;

    var lh = location.hash;

    if(lh==""){

        //アンカが未指定な場合は、何もしない

    }else{

        //アンカが指定されたので真中になるように調整

        location.href=lh; // scrollTopが上手く取れないので追加

        document.body.scrollTop = document.body.scrollTop - (document.body.clientHeight / 2);

    }

    if (ls.match(/\/test_id\/([\d_]+)/)){

        id = RegExp.$1;

    } else if (ls.match(/[&|\?]test_id=([\d_]+)/)){

        id = RegExp.$1;

    }

/*

    var obj = document.getElementById(id);

    if (obj != null){

        obj.style.backgroundColor="#FFCC66";

    }

*/

    var tagname = "TD";

    for (var i=0; i < document.all.tags(tagname).length; i++) {

        var elem = document.all.tags(tagname)[i];

        if(elem.id==id){

            elem.style.backgroundColor="#FFCC66";

        }

    }

}

//-->

</script>

◎質問者からの返答

最高ですwww

すごい助かりますwww

ありがとうございます。

関連質問


●質問をもっと探す●



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