如何检测是否已应用jQuery .append

时间:2012-06-11 10:10:44

标签: jquery

我的代码附加如下:

if (json.expData[i] != null) {
    $('#text' + i)
    .append("<br><br><img src='/balloon.png'>" + json.expData[i]);
}

当用户点击按钮时,此代码会运行并附加。但是,如果用户再次单击该按钮,它会再次附加,依此类推。

是否有某些方法可以检测到数据已经被追加并且仅被追加 如果这是第一次添加吗?

3 个答案:

答案 0 :(得分:1)

您可以在元素上存储布尔属性,例如data-isappended

if (json.expData[i] != null) {
    var $text = $('#text' + i);
    if (!($text.data("isappended"))){
       $text.append("<br><br><img src='/balloon.png'>" + json.expData[i]);
       $text.data("isappended", true);
    }
}

答案 1 :(得分:0)

检查img内是否有#text标记,应该这样做

if ($('#text' + i).find('img').length > 0) 
{
    $('#text' + i).append("<br><br><img src='/balloon.png' />" + json.expData[i]);

}

答案 2 :(得分:0)

如果您没有id包含#text的任何其他元素,那么您可以尝试这样:

if( $('[id^=text]').length ) { // if some element with id text exists 

} else { // not exists

}