Javascript阅读HTML标记

时间:2016-02-18 17:17:27

标签: javascript html asp.net

我遇到了问题,过了一段时间后我就不知道如何修复它,我真的需要帮助

所以我有asp:GridView,在我的数据库中我保存带有HTML标签的文字(英文专栏),在DataBound事件我正在使用Context.Server.HtmlDecode(encoded);,因此它显示得很完美

This is Grid View

但问题是,那也是在那个事件上,我正在为那个单元格创建OnClick事件...调用javascript函数,并向它发送参数,它看起来像这样

ChangeTranslationText('English',
'<div style="text-align: center;"><span style="font-style:italic;">Stavi dole
</span><span style="font-weight: bold;">neki text<br><br><br>Hvala na paznji!
<br><br>Mozes Z da stavis<br><br>Ali Z<br><br>Hvala<br></span></div> '
,'56');return false;

现在我正在尝试我的javascript读取HTML并格式化我的文本,就像在GridView中看起来一样......

function ChangeTranslationText(Language, Text, Control) {

        document.getElementById("MainContent_txtChangeLanguage").value = Language;

        var el = $('<div></div>');
        el.html(Text);
        document.getElementById("MainContent_txtTranslationText").innerHTML = el.text();

        document.getElementById("MainContent_hfControl").value = Control;

        $('#ModalChangeTranslate_Fade').modal('show');
    }

我无法对其进行格式化,因为我不知道如何...这是我迄今为止最好的

enter image description here

你能帮助我并告诉我Javascript如何读取HTML并保持格式在GridView单元中?

1 个答案:

答案 0 :(得分:0)

我在这里做了一个测试,看到了两件事:

var el = $('<div></div>');正在投掷$ is not defined。您的项目中可能有jquery库,但实际上您不需要声明此el变量。您可以像以前一样使用它:

document.getElementById("MainContent_txtTranslationText").innerHTML = Text;

另一件事是您的Text参数。不确定换行符是否仅在问题中,但是,当我们在javascript中有string时,它必须在同一行。你不能用“输入”来打破行。您将需要连接strings来执行此操作,如下所示:

var html = '<div style="text-align: center;"><span style="font-style:italic;">Stavi dole' +
'</span><span style="font-weight: bold;">neki text<br><br><br>Hvala na paznji!' + 
'<br><br>Mozes Z da stavis<br><br>Ali Z<br><br>Hvala<br></span></div>';