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 回答