Javascript 在浏览器中显示HTML标记而不进行渲染
开始实现Javascript时,我需要进行故障排除,并希望在不渲染的情况下将HTML输出到屏幕。我可以通过以下方式访问(IE中的)元素: 我想,但我无法证明我能确定的是什么Javascript 在浏览器中显示HTML标记而不进行渲染,javascript,debugging,outerhtml,Javascript,Debugging,Outerhtml,开始实现Javascript时,我需要进行故障排除,并希望在不渲染的情况下将HTML输出到屏幕。我可以通过以下方式访问(IE中的)元素: 我想,但我无法证明我能确定的是什么 那么我该怎么做才能让document.write显示包括标记在内的整个元素呢?您的意思是想要文本,例如,Hello,而不是Hello 如果是这样,只需快速执行以下操作: myHTML = myHTML.replace(/[<>&\n]/g, function(x) { return {
那么我该怎么做才能让document.write显示包括标记在内的整个元素呢?您的意思是想要文本,例如,
Hello
,而不是Hello
如果是这样,只需快速执行以下操作:
myHTML = myHTML.replace(/[<>&\n]/g, function(x) {
return {
'<': '<',
'>': '>',
'&': '&',
'\n': '<br />'
}[x];
});
myHTML=myHTML.replace(/[&\n]/g,函数(x){
返回{
'': '',
“&”:“&;”,
“\n”:“
”
}[x] );
});
在输出它之前。您可以将此应用于许多其他字符,例如,如果您想按字面意思输出空白。请执行两项操作(所有这些操作,而不仅仅是一项):
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(安全);
如果这只是为了测试,而您想快速强制执行,您可以将字符串中的每个字符转换为它的;等效字符:
<p><p>This is a paragraph</p></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,"<").replace(/>/g,">");
// 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><p>This is a paragraph</p></p>