如何用innerHTML替换document.write

时间:2016-10-14 06:02:17

标签: javascript html innerhtml

我想用innerHTML替换document.write。但是当我尝试它时它不会创建链接。我不知道是否存在如何构建路径变量的问题,因此它不会正确打印出链接。现在它不会打印出任何链接。

<!DOCTYPE html>
<html lang="en">

<script>

    var path = "";
    var href = document.location.href;
    var s = href.split("/");
    for (var i=2;i<(s.length-1);i++) {
        path+="<a class='crumb'  href=\""+href.substring(0,href.indexOf("/"+s[i])+s[i].length+1)+"/\">"+s[i]+" </a>";
    }
    i=s.length-1;
    path+="<a class='crumb'  href=\""+href.substring(0,href.indexOf(s[i])+s[i].length)+"\">"+s[i]+" </a>";
    var url =  path;
    //document.getElementById(".breadcrumb").innerHTML = url;
    document.write(url);

</script>

<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="/webjars/bootstrap/3.3.6/css/bootstrap.min.css">
<link rel="stylesheet" href="/webjars/bootstrap-fileinput/4.2.7/css/fileinput.min.css">
<link rel="stylesheet" href="/webjars/bootswatch/3.3.5+4/yeti/bootstrap.min.css">
<link rel="stylesheet" href="/webjars/font-awesome/4.5.0/css/font-awesome.min.css">
<link rel="stylesheet" href="/webjars/jquery-ui/1.12.1/jquery-ui.min.css">
<link rel="stylesheet" href="/static/app/css/app.css">
<link rel="stylesheet" href="/static/app/css/style.css">
<script src="/webjars/jquery/2.1.4/jquery.min.js"></script>
<script src="/webjars/jquery-ui/1.12.1/jquery-ui.min.js"></script>
<script src="/webjars/bootstrap-fileinput/4.2.7/js/fileinput.js"></script>
<script src="/webjars/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<script src="/webjars/bootstrap-fileinput/4.2.7/js/fileinput_locale_ja.js"></script>
<script src="/static/app/js/app.js"></script>

<style>

.breadcrumb
{
  witdh : 100%;
  text-align: center;
  border: 5px solid transparent;
}

.crumb
{
 display: inline-block;
 float : left;
 font: 16px Helvetica, Arial, Sans-Serif;   
 color: white;
 background-color: #4E95B6;
 border: 1px solid black;
}
.crumb: hover
{
 color: red;
}

</style>

</head>

<body>

{{>partials/browser-compatibility}}
<div class = "breadcrumb"> </div>
<div class="container-fluid">

2 个答案:

答案 0 :(得分:4)

您可以尝试document.getElementsByClassName('breadcrumb')[0].innerHTML = url;

答案 1 :(得分:2)

使用document.ready确保已加载dom;

您错误地使用了getElementById;

<div id ="breadcrumb"> </div>
<script>

    var path = "";
    var href = document.location.href;
    var s = href.split("/");
    for (var i=2;i<(s.length-1);i++) {
        path+="<a class='crumb'  href=\""+href.substring(0,href.indexOf("/"+s[i])+s[i].length+1)+"/\">"+s[i]+" </a>";
    }
    i=s.length-1;
    path+="<a class='crumb'  href=\""+href.substring(0,href.indexOf(s[i])+s[i].length)+"\">"+s[i]+" </a>";
    var url =  path;
    document.getElementById('breadcrumb').innerHTML = url;
    //document.write(url);
  </script>