2016-12-30 86 views
5

我所做的是从文件中加载了一些HTML,我试图修改该HTML中的一些元素。在JQuery中设置变量的HTML时遇到问题

初始化看起来是这样的:

var id = player_info["ID"]; 
$("#main_container").append(
    $("<div />").attr({class: "player_container", id: "player_" + id}).css("display", "none") 
); 

// Add all information to the player container 
var player_container = $("#player_" + id); 
player_container.load("player_layout.html"); 

随着player_layout.html看起来像这样:

<div class="player_name"> 

</div> 
<div class="player_chips"> 
    Chips: 
    <br/> 
    <span class='bidding'></span>/<span class='chips'></span> 
</div> 
<div class="player_stats"> 
    Wins/Losses 
    <br/> 
    <span class="wins"></span>/<span class="losses"></span>(<span class="total_games"></span>) 
    <br/><br/> 
    Chips Won/Chips Lost 
    <br/> 
    <span class="chips_won"></span>/<span class="chips_lost"></span> 
</div> 
<button class="player_won">Player Has Won</button> 

我再要修改的一些内容,特别是类。我最初做这个方式的一个例子是:

player_container.find(".player_name").text(player_info['username']); 

这是行不通的,所以我然后试图用childrentext切换findhtml但似乎并没有工作。然后我试过这个:

$('> .player_name', player_container).html(player_info['username']); 

但这也没有奏效。我知道我可以使用DOM来获取childNodes并比较类名,但是有很多类需要修改,我也想知道这是否可以在JQuery中使用。预先感谢您的帮助。

+0

完整的回调方法,你没有player_container' – Satpal

+0

的'孩子错过了一行代码,而复制和粘贴。抱歉。 – SnowPie

+0

你什么时候使用'player_container.find(“。player_name”)'? – Satpal

回答

4

您需要使用的.load()

var player_container = $("#player_" + id); 
player_container.load("player_layout.html", function(){ 
    player_container.find(".player_name").text(player_info['username']); 
}); 
+0

谢谢。我完全忘记了回调。 – SnowPie

+0

对不起,正在等倒计时。 – SnowPie