2016-10-14 2 views
0

Je veux remplacer le document.write par innerHTML. mais il ne créera pas les liens quand je l'essaye. Je ne sais pas s'il y a un problème avec la façon dont je construis la variable de chemin afin qu'elle n'imprime pas les liens correctement. En ce moment, il n'imprimera aucun lien.comment remplacer document.write avec innerHTML

<!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"> 
+0

S'il vous plaît modifier votre question de manière à inclure un [exemple minimal, complet et Vérifiable] (http://stackoverflow.com/help/mcve). – MJH

+0

cela ne peut pas fonctionner 'document.getElementById ('. Breadcrumb')' – antoni

+0

où est votre balise de script situé en html? montrez le html –

Répondre

4

vous pouvez essayer document.getElementsByClassName('breadcrumb')[0].innerHTML = url;

+0

j'ai essayé de cette façon aussi – MNM

+0

il suffit de mettre le code

2

utilisez document.ready pour vous assurer que vous avez chargé le dom;

vous avez utilisé par erreur 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>