0

私はそのような機能を持っています:

function div_id( parent , child ) {
    var children = document.getElementById(parent).childNodes;
    for (var i=0; i < children.length; i++) {
        if (children[i].id == child ) {
            return children[i];
            break;
        }
    }
    return null;
}

そして私のdivは次のように設定されています:

<div id="table_seats_box">
    <div id="table_seat_0">
        <div id="table_seat_0_d"></div>
        <div id="table_seat_0_player_name"></div>
        <div id="table_seat_0_portrait">
           <div id="table_seat_0_card_0"><div id="table_seat_0_card_1"></div></div>
           <div id="table_seat_0_chips"></div>
           <div id="table_seat_0_status"></div>
        </div>
    </div>
</div>

そして私のコードはそのようなものです:

var t_s_p = "table_seat_" + player_table_position;
var t_s_p_p = "table_seat_" + player_table_position + "_portrait";
var children = div_id ( t_s_p , t_s_p_p );
children.style.backgroundImage = "url(images/class/" + image_id + ".png)";

ただし、背景画像は変更されていないようです。私は何か間違ったことをしていますか?w、h、および可視性はすべてcssで良好です。助けてくれてありがとう。

編集で「)」が修正されましたが、まだ機能しません。

参考:画像は単なる数字です

4

1 に答える 1

3

url(左括弧を閉じていません。backgroundImage定義を次のように変更してください。

children.style.backgroundImage = "url(images/class/" + image_id + ".png)";

注:div_idオプションで関数を簡略化できます。

function div_id(parent, child) {
    return document.getElementById(parent).querySelector("#" + child); /*IE8+, all other modern browsers*/
}
于 2012-09-23T18:48:37.127 に答える