jquery val() 不会显示值
jquery val() will not display value
html() 应该用于设置非表单元素(如div)中的内容。 **这个问题已经回答了几次,我不知道。
我正在尝试在从 $.ajax 调用中检索注释后设置一个值。当我提醒 commentOutput 和 commentSpan 的值时,它们显示的数据是正确的。但是,当我尝试在跨度中设置这些注释的值时,它们不会显示,也不会出现在生成的源中。
这是javascript。您可以在控制台中看到 POST 的返回。您还可以看到它为跨度抓取的值,因为我已在单击时提醒它。
要调用它,只需单击猫的第一张照片,此时其他图片都没有评论。
var ajaxOptions = {
type: 'POST',
dataType: 'json',
url: 'ajax/comments.php',
data: { id: photoID, action: 'GetComments' },
success: function(data) {
for(i=0; i<data.length; i++) {
var commentOutput = '<div><h4>'+data[i].comment_user+' says:</h4>';
commentOutput += '<span>'+data[i].comment_msg+'</span>';
commentOutput += '</div>';
var commentSpan = '#photo' + data[i].photo_id + ' .comments';
$(commentSpan).val(commentOutput);
$(commentSpan).delay('200').css('display','block');
}
}
};
任何帮助将不胜感激,
干杯
科 迪
方法
val()
用于input
、select
和textarea
元素。
应改用html()
或text()
方法。
注意:这是我最近对几乎相同问题的回答的确切副本。您是否尝试过使用一些搜索来找到解决方案?
你想要.html()
,而不是.val()
。
$(commentSpan).html(commentOutput);
此外,如果您的服务器没有对注释数据进行 HTML 转义,您应该在脚本中执行此操作:
function safe(s) {
return s.replace(/&/g, '&').replace(/>/g, '>').replace(/</g, '<');
}
// ...
var commentOutput = '<div><h4>'+ safe(data[i].comment_user) + ' says:</h4>';
commentOutput += '<span>' + safe(data[i].comment_msg) + '</span>';
相关文章:
- 从桌面读取python文件时高亮显示代码
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何在生成下载文件时显示加载动画
- React重新渲染但未显示正确的组件
- nodejs-expressjs上传图像并显示它们
- 使用JSP从服务器检索和显示图像
- 音频控件在mouseover上显示,在mouseout上淡出
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- 使用电话间隙在Android应用程序中显示SQL Lite的数据
- 显示5秒后隐藏潜水
- 画廊图像未显示
- 不显示带有本地json文件数据的谷歌地图脚本
- 如何将json数据显示为html
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- jquery val() 不会显示值
- 当字段为空时,val() 返回占位符值,而不是 IE8,9 中的实际值.下面显示的
- 使用 jQuery .val() 设置时在 中显示为 NaN 的数字
- val() 在实际包含值时显示空字符串
- $(“#id”).val();显示不正确的结果
- 如何在设置.val()后自动突出显示文本输入