5

我想知道是否有人可以用这个简单的代码帮助我同意但是我在使用 JS 片段将横幅加载到我的页面顶部时遇到问题。

这是我用来显示框的示例,关于代码的示例可以正常显示超链接或文本(如下所示),但是如果我尝试添加任何其他类型的 HTML,例如像这样的简单表格,它将无法正常工作。

<table>
  <tr>
    <td>Test</td>
    <td>Table </td>
  </tr>
</table>

抱歉更新了超链接

<script type="text/javascript">
function changeText()
{
     document.getElementById("new_coder").innerHTML = '<a href="#">sdsd</a>';
}
</script>
<b id='new_coder'>Good Bye World</b>
<input type='button'  value='Change Text'/>

这就是我想要做的

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<script type="text/javascript">
function changeText()
{
     document.getElementById("new_coder").innerHTML = '<table>
  <tr>
    <td>Test</td>
    <td>Table </td>
  </tr>
</table>';
}
</script>
<b id='new_coder'>Good Bye World</b>
<input type='button' onclick='changeText()' value='Change Text'/>
<body>
</body>
</html>

是否有更好的功能可以通过 JavaScript 将 HTML 片段加载到页面中。抱歉,我在这方面有点粗略。

谢谢德布斯

4

2 回答 2

3

您实际上遇到了一个 javaScript 怪癖。

JS 具有自动分号插入功能,它的作用是在换行时插入。

如果你这样写你的函数:

JSfiddle

function changeText()
{
     document.getElementById("new_coder").innerHTML = "<table><tr><td>Test</td><td>Table </td></tr></table>";
}

它会起作用的。

注意代码中没有换行符

您可以通过按 F12 并查看控制台来获得线索。

Uncaught SyntaxError: Unexpected token < 

就在你换行的地方。

于 2013-05-26T18:37:31.033 回答
-2

我建议使用jQuery。有了这个,你可以写类似

$(document).ready(function() {
    $('#changearea').html('<a href="#">Hyperlink</a>');
});

它更简洁,应该适用于所有浏览器。

于 2013-05-26T17:59:39.973 回答