我有以下内容:
$.post(baseUrl+"/index/voto",{id:eid},function(e){
var divMsg = $("#msg");
var html = "";
if(e.msg == 1){
html = '<img src="'+baseUrl+'/lib/img/showImageA.png" alt="pdf" />';
}else if(e.msg == 3){
//HERE I MUST DISPLAY A TEXT AFTER A GIVEN ELEMENT
} else if(e.msg == 2){
html = '<img src="'+baseUrl+'/lib/img/showImageB.png" alt="pdf" />';
} else{
html = '<img src="'+baseUrl+'/lib/img/showImageC.png" alt="pdf" />';
}
divMsg.show();
divMsg.html(html);
}, 'json');
所以,如果有东西到来,我会用图片替换内容。 这很有效。
问题在于,在第二个案例(e.msg ==3)
我应该不删除或用图片替换所有内容,但是我需要附加一个元素p在一个特定的地方说:“某事”。
我试图显示:无;那个元素然后添加:
else if(e.msg == 3){
myParagrafId.show();
}
什么都没有出现。
我试图:
else if(e.msg == 3){
$('#foo').append('<p>Something</p>');
}
仍然没有...
该函数似乎返回了html,忽略了我在第二个条件中的指令。
所以,也许我需要抓住现有的html部分,追加我需要的东西,然后允许函数输出它?
附加说明: 如果我发出警报();在这种情况下(e.msg == 3),它有效。
答案 0 :(得分:1)
首先,你总是将html
放入$("#msg")
这里
//in case 3 html = ''
divMsg.html(html);
所以你应该检查它不是一个空字符串:
if (html != ''){
divMsg.html(html);
}
因此,如果您尝试在$("#msg")
内部进行深入研究(如在其中显示隐藏的div),则在案例3中它不会执行任何操作,因为它会被''替换,因为您正在调用$("#msg").html('');
这有帮助吗?
否则你做错了,如果你展示你的标记我们可以提供帮助