Jquery - 如何将内容插入下一个空DIV

时间:2016-10-20 11:15:34

标签: jquery

我有一个足球场,我想在球场上添加球员......

这已经可以正常工作(使用拖放)以及onClick()事件。

但是当我(通过onClick()动作()已经在防御位置添加了一个玩家时,我希望Jquery在第一个玩家旁边添加下一个玩家......

多数民众赞成也有效..

我用

实现了它
 function addDefenderByClickEvent(playerName) {
     $('.defender').on('click', function () {   

      if( $('#defendLine').find('img').length ){

        $('#defendLine div:first').next().html("SOME HTML CODE".concat(playerName));  

        }else{                          
          $('#defendLine div:first').html("SOME HTML CODE".concat(playerName));                              
      }});

但是这段代码添加了第一个玩家,之后它只是在第二个PLace上添加了第二个和第三个玩家,因为我使用了

#defendLine div:first').**next()**.html(SOME HTML CODE)

但它必须更动态(然后只是.next()),我也试图检查一个位置是否为空,但是当我有2或3个空位时,jquery将值添加到所有空位,是什么也不是最好的解决方案。

你能给我任何提示吗?

现在这也是我的小提琴: https://jsfiddle.net/54vgb8bx/65/

4 个答案:

答案 0 :(得分:0)

替换

$('#defendLine div:first').next().html("SOME HTML CODE".concat(playerName));  

$('#defendLine div:empty').first().html("SOME HTML CODE".concat(playerName)); 

假设:

<div id='defendLine'>
    <div></div> <!-- empty field -->
    <div><img..../></div> <!-- non empty field -->
</div> 

以上替换代码会找到第一个空div并将玩家插入其中,希望这会对你有帮助

答案 1 :(得分:0)

$('#defendLine div p').first().parent().html("SOME HTML CODE".concat(playerName)); 

如果空字段有<p>标记,那么上面的代码可以帮助它。

它用p搜索div并选择第一个div。它就像把带有p标签的div作为空场

答案 2 :(得分:0)

替换

rake db:rollback

>> A1=cell(1,1);
>> A1{1}=data{1};

因为每次点击播放器时都会添加监听器。上面的代码将删除以前的监听器。

答案 3 :(得分:0)

https://jsfiddle.net/54vgb8bx/70/

Above link is the updated and working version of your codeenter code here