Javascript html更改

Javascript html更改,javascript,html,Javascript,Html,我正在使用一些javascript动态地更改网页,我试图让它也更改一些html,但是如果javascript中有html,它甚至不会执行开始部分。以下是我的javascript: function Home() { document.getElementById("title").innerHTML=("Home"); document.getElementById("bodyfill").innerHTML=("Home stuff here"); var newHT

我正在使用一些javascript动态地更改网页,我试图让它也更改一些html,但是如果javascript中有html,它甚至不会执行开始部分。以下是我的javascript:

function Home()
{
    document.getElementById("title").innerHTML=("Home");
    document.getElementById("bodyfill").innerHTML=("Home stuff here");

    var newHTMLHome = "a href="#" title="Home" class="active">Home/a>";

    document.getElementById('hometab').innerHTML = newHTMLHome;

    var newHTMLUser = "a href="javascript:User()" title="Home" class="active">Home/a>";

    document.getElementById('usertab').innerHTML = newHTMLUser;
}

function User()
{
    document.getElementById("title").innerHTML=("User");
    document.getElementById("bodyfill").innerHTML=("User stuff here");

    var newHTMLHome = "a href="javascript:Home()" title="Home" class="active">Home/a>";

    document.getElementById('hometab').innerHTML = newHTMLHome;

    var newHTMLUser = "a href="#" title="Home" class="active">Home/a>";

    document.getElementById('usertab').innerHTML = newHTMLUser;
}
我试图让它动态地更改活动选项卡,这就是它应该做的,但是它没有,你知道为什么吗?如果你需要更多的代码,请告诉我。提前谢谢


编辑:必须更改链接代码,只需假设标记是正确的,在这种情况下

您的问题是无法转义字符串中的特殊字符,例如:

var newHTMLHome = "<a href="#" title="Home" class="active">Home</a>";
var newHTMLHome=“”;
相反,请尝试以下方法:

var newHTMLHome = '<a href="#" title="Home" class="active">Home</a>';
var newHTMLHome='';

请看一看或完全理解发生了什么。

您的代码是复制和粘贴的吗?如果是的话。。这样的双引号里不能有双引号。检查您的javascript错误控制台,您很可能在那里有一些错误。尝试用单引号替换字符串中的双引号


另外,您不使用jquery()这样的JS库有什么原因吗?它们让这样的事情变得容易多了。

我不想告诉你如何避开你的引语,而是告诉你另一个方向,因为你可能正在尝试重新发明轮子

有许多很棒的工具包可以为您进行选项卡式布局。我将推荐jQuery和jQueryUI,尽管还有其他Javascript库

这将告诉你所有你需要做的工作,使它的工作。完成演示后,您只需转到并勾选tabs功能的复选框,它将为您提供一个很好的可下载包来开始


使用jQuery(或任何其他类似的UI工具包)的优势在于,您使用的是许多人构建的东西,他们对增强这些项目的键盘可访问性感兴趣,也对修复任何bug感兴趣——在某些方面,这意味着您可以让其他人来做艰苦的工作,同时专注于创建一个更好的网站/应用程序。

您的代码中似乎有未替换的字符串:您是否使用或Firebug或类似工具来检查您的代码?第二个问题:如何以及在何处调用Home和User函数?这很难理解。你能突出显示你的代码并点击“{}”按钮吗。我真的建议您考虑学习jQuery。使用jQuery选项卡可以更干净地完成所有这些工作。使用Aleksi为您应用的代码标记(按钮{}),您将获得正常的结果。所以下次请用它来输入代码。我建议添加与此javascript相关的适当HTML。我这样做了,只是让它看起来很糟糕,我猜复制和粘贴时出现了糟糕的制表符。我猜管理员已经修复了它,更不用说框架提供了更好的跨浏览器兼容性。