我有如下附加代码:
if (json.expData[i] != null) {
$('#text' + i)
.append("<br><br><img src='/balloon.png'>" + json.expData[i]);
}
当用户单击按钮时,此代码将运行并附加。但是,如果用户再次单击该按钮,它会再次附加,依此类推。
有什么方法可以检测到数据已经被附加,并且只有在第一次添加时才添加?
我有如下附加代码:
if (json.expData[i] != null) {
$('#text' + i)
.append("<br><br><img src='/balloon.png'>" + json.expData[i]);
}
当用户单击按钮时,此代码将运行并附加。但是,如果用户再次单击该按钮,它会再次附加,依此类推。
有什么方法可以检测到数据已经被附加,并且只有在第一次添加时才添加?
您可以在元素上存储一个布尔属性,例如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);
}
}
检查里面是否有img
标签#text
,应该这样做
if ($('#text' + i).find('img').length > 0)
{
$('#text' + i).append("<br><br><img src='/balloon.png' />" + json.expData[i]);
}
如果您没有任何其他id
包含 contains的元素,#text
那么您可以这样尝试:
if( $('[id^=text]').length ) { // if some element with id text exists
} else { // not exists
}