获取对附加项的引用,并将其他项附加到先前附加的项

时间:2016-04-28 07:29:11

标签: javascript jquery

理论值:

它的分类网站分类广告网站上的每个帖子都有聊天图标,如果用户点击此按钮就会打开一个新的聊天框

<div class="box" ><div class="had-container">hi welcom</div></div> //chatbox

实际上聊天框附加到

<div id="insert"></div>

一旦聊天框打开,我正在检查用户是否已登录,如果用户未登录我想要追加

<div class="loggedin">You are not logged in</div>

到聊天室

1.对于每个帖子,都会有一个聊天图标,用户可以点击所有帖子上的聊天图标,因此使用id或class不起作用我需要对附加项目的引用。

2.我可以使用if和else。但我想尝试这个。

脚本: -

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
    <script>
    $(function(){
      var item=$("#insert");
      var newBox = '<div class="box" ><div class="had-container">hi welcome</div></div>';
      $("#clickhere").on("click", function(){
        item.append(newBox);
        if(usernotloggedin){
      // problem is here I don't know how to get the previously appended item's reference.          
        }
      })
    });


    </script>

    <div id="insert"></div> 

    <div id="clickhere">clicktoappend</div> //if you click once on this

实施例: -

    <div id="clickhere">clicktoappend</div> 

如果您点击此次

<div id="insert"></div> 

变为

<div id="insert"><div class="box" ><div class="had-container">hi welcome</div></div></div>

现在我想在附加项中添加一些元素。 (我需要对附加项目进行某种引用,以便我可以在之后对其进行操作。)

现在,如果用户未登录,我想附加以下内容

<div class="loggedin">You are logged in</div> 

到附加项目。所以它变成

    <div id="insert"><div class="box" ><div class="had-container">hi welcome</div><div class="loggedin">You are not logged in</div></div></div>

提前致谢

1 个答案:

答案 0 :(得分:1)

  

例如var ref = item.append(newBox);如果ref作为参考,那将是好的。 -

既然你提到了这一点,你可以很容易地做到这一点。

var ref=item.append(newBox).find('.box');

现在您的ref<div class="box" >...</div>作为Jquery DOM对象