我正在使用JQuery Dialog显示一些包含HTML标记的文本:
<div id="dialog" style="display: none">
<p id='infoShow'></p>
</div>
显示数据的JQuery是:
function test(element) {
$("#infoShow").html($(".gLine", $(element).closest("tr")).html());
$("#dialog").dialog({
title: "View Guideline",
buttons: {
Ok: function () {
$(this).dialog('close');
}
},
modal: true,
width: "450px"
});
}
由ASP LinkButton调用:
<asp:LinkButton runat="server" ID="btnShow3" CssClass="btnSearch3" Text="VIEW" OnClientClick="javascript:test(this);return false;"></asp:LinkButton>
虽然我使用.html()
来显示输出,但它仍然显示HTML标记而不是输出:
如何修改代码以便生成HTML标记而不是仅显示为纯文本?
答案 0 :(得分:1)
试试这个:
$("#infoShow").append( $( HTML_TEXT_STRING));
答案 1 :(得分:1)
在你的跨度id“无论id是什么”
你可以用 的.text():$('#your-span-id').text($('#your-span-id').text());
这将删除所有html标签,然后您可以在模态上显示它。你必须使用你的跨度id两次,因为机制的性质。这应该工作。
答案 2 :(得分:1)
删除“dialog”div和“infoShow”标签,因为您不需要它们。
然后,不是写入现有的div,而是将一个新的div添加到body元素作为对话框,如下所示:
function test(element) {
$("<div></div>").appendTo('body')
.html($(".gLine", $(element).closest("tr")).html())
.dialog({
title: "View Guideline",
buttons: {
Ok: function () {
$(this).dialog('close');
}
},
modal: true,
width: "450px"
});
}
或者,你可以这样做:
function test(element) {
$("<div>" + $(".gLine", $(element).closest("tr")).html() + "</div>").appendTo('body')
.dialog({
title: "View Guideline",
buttons: {
Ok: function () {
$(this).dialog('close');
}
},
modal: true,
width: "450px"
});
}
答案 3 :(得分:0)
$(".gLine", $(element).closest("tr"))
这种语法错了。您不能用逗号分隔类名和jquery元素,并用'$'包装它。逗号适用于.gLine, .herpDerp