Javascript 在浏览器中显示HTML标记而不进行渲染

Javascript 在浏览器中显示HTML标记而不进行渲染,javascript,debugging,outerhtml,Javascript,Debugging,Outerhtml,开始实现Javascript时,我需要进行故障排除,并希望在不渲染的情况下将HTML输出到屏幕。我可以通过以下方式访问(IE中的)元素: 我想,但我无法证明我能确定的是什么 那么我该怎么做才能让document.write显示包括标记在内的整个元素呢?您的意思是想要文本,例如,Hello,而不是Hello 如果是这样,只需快速执行以下操作: myHTML = myHTML.replace(/[<>&\n]/g, function(x) { return {

开始实现Javascript时,我需要进行故障排除,并希望在不渲染的情况下将HTML输出到屏幕。我可以通过以下方式访问(IE中的)元素:

我想,但我无法证明我能确定的是什么


那么我该怎么做才能让document.write显示包括标记在内的整个元素呢?

您的意思是想要文本,例如,
Hello
,而不是
Hello

如果是这样,只需快速执行以下操作:

myHTML = myHTML.replace(/[<>&\n]/g, function(x) {
    return {
        '<': '&lt;',
        '>': '&gt;',
        '&': '&amp;',
       '\n': '<br />'
    }[x];
});
myHTML=myHTML.replace(/[&\n]/g,函数(x){
返回{
'': '',
“&”:“&;”,
“\n”:“
” }[x] ); });
在输出它之前。您可以将此应用于许多其他字符,例如,如果您想按字面意思输出空白。

请执行两项操作(所有这些操作,而不仅仅是一项):


  • 将HTML标记替换为实体:
    HTML.Replace(/&/g,&&;).Replace(/如果问题不限于IE,请使用firefox并使用。非常方便。您可以始终使用
    警报(myString)
    但很快就会变得非常烦人。

    如果你刚开始使用javascript,现在是学习不要接触不可靠属性的最佳时机;outerHTML就是其中之一;虽然受IE、Chrome和Opera支持,但Firefox不支持它

    以原始代码为例,这将起作用:

    // set the content for div 'mylog'
    document.getElementById("mylog").innerHTML = content;
    
    或者通过使用类似jQuery的东西,它为您提供了一个API,可以隐藏所有可能受支持或不受支持的东西,并保证如果您调用它,它将工作:

    <p>This is a paragraph</p>
    
    //获取html内容
    var content=$(“#test”).html();
    //确保打印安全
    var safe=content.replace(//g,“”);
    //将其作为文本添加到日志中
    $(“mylog”).append(安全);
    
    如果这只是为了测试,而您想快速强制执行,您可以将字符串中的每个字符转换为它的&#x;等效字符:

    <p>&lt;p&gt;This is a paragraph&lt;/p&gt;</p>
    
    var a=“你好”;
    变量b=a.替换(//g,功能(e){
    返回“&#”+e.charCodeAt(0)+“;”;
    });
    文件。编写(b);
    

    活生生的例子:

    这是我找到的一个简单快捷的方法

    1.下载并安装Adobe DreamWeaver,您将获得30天的试用期

    2.只需在Dream weaver的设计屏幕上写下你想放入网站的代码即可

    3.在代码屏幕中,您将获得一个代码,用于将未渲染的html代码放入您的网站

    例如: 当我输入代码时:

    这是一段

    在DreamWeaver的设计窗口中。在代码窗口中,编写以下代码

    p这是一段/p


    您可以对每个要在浏览器中显示为未渲染的代码执行此操作。

    您可以将其可见性设置为“隐藏”,或将“显示样式”设置为“非”您所说的“将元素输出到屏幕”到底是什么意思?小心使用document.write-在页面完成解析后不能使用它,否则会清除页面上的所有内容。应使用DOM操纵方法(如示例中所示)向页面添加新内容。他指的是由
    outerHTML
    返回的内容,即标记本身。谢谢。我正在使用divs在实际代码中输出,我只是在寻找一个调试工具来了解情况。在获得Javascript句柄后,我将进入JQuery。
    <html>
      <head>...</head>
      <body>
        ...
        <div id="mylog"></div>
        ...
     <body>
    </html>
    
    // set the content for div 'mylog'
    document.getElementById("mylog").innerHTML = content;
    
    // get html content
    var content = $("#test").html();
    // make it print safe
    var safe = content.replace(/</g,"&lt;").replace(/>/g,"&gt;");
    // add it to the log as text
    $("mylog").append(safe);
    
    var a = "<div>hello</div>";
    
    var b = a.replace(/./g, function(e){
        return "&#"+e.charCodeAt(0)+";";
    });
    
    document.write(b);
    
    <p>This is a paragraph</p>
    
    <p>&lt;p&gt;This is a paragraph&lt;/p&gt;</p>