如何让 html 而不是 运行 显示在页面上?
How to do i get html to display on page instead of running?
我的问题似乎与其他大多数人的问题相反。我不想把.innerHTML中的HTML改成运行。我希望它按原样显示在页面上。 (我知道我的代码中还有另一个问题。我正在处理)
https://jsfiddle.net/ojfykv17/
或
<div id="code">
</div>
function genorateCode() {
var account = document.getElementById("account");
var url = document.getElementById("url");
sendCode();
}
function sendCode() {
document.getElementById('code').innerHTML = '<a href="'+url+'">'+'<div class="button"><img src="https://s15.postimg.org/mfpd2ki8r/icon.png" width="16">@'+account+'</div></a>';
}
sendCode();
.button {
border-radius: 5px;
background-color: white;
border:1;
border-style: solid;
position: fixed;
padding: 5px 10px 5px 10px;
border-width: 1.2px;
line-height: 5px;
border-color: #a5aab1;
font-family: 'Lato', sans-serif;
font-weight:300;
text-align: center;
}
<form id="form" onsubmit="return false;">
<input type="text" id="account" />
<input type="text" id="url" />
<input type="submit" onclick="genorateCode();" />
</form>
<div id="code">
</div>
您需要将所有 HTML 标签从 <
和 >
转换为 <
和 >
。否则浏览器会将其呈现为 HTML。
而不是设置 innerHTML
,设置元素的 innerText
。
document.getElementById('code').innerText = '<a href="'+url+ ...
您的代码中有几处需要修改。第一个函数有局部变量 account
和 url
,然后你在第二个函数中访问它,当然不在它的范围内。
var account,url;
function genorateCode() {
// are you sure you want this document.getElementById("account")
// instead if this -> document.getElementById("account").value ???
account = document.getElementById("account").value;
url = document.getElementById("url").value;
sendCode();
}
在您的情况下,您可以使用 insertAdjacentHTML,如下所示:
function sendCode() {
var str = '<a href="' + url + '">' + '<div class="button"><img src="https://s15.postimg.org/mfpd2ki8r/icon.png" width="16">@' + account + '</div></a>';
document.getElementById('code').insertAdjacentHTML('beforeend', str);
}
我的问题似乎与其他大多数人的问题相反。我不想把.innerHTML中的HTML改成运行。我希望它按原样显示在页面上。 (我知道我的代码中还有另一个问题。我正在处理)
https://jsfiddle.net/ojfykv17/ 或
<div id="code">
</div>
function genorateCode() {
var account = document.getElementById("account");
var url = document.getElementById("url");
sendCode();
}
function sendCode() {
document.getElementById('code').innerHTML = '<a href="'+url+'">'+'<div class="button"><img src="https://s15.postimg.org/mfpd2ki8r/icon.png" width="16">@'+account+'</div></a>';
}
sendCode();
.button {
border-radius: 5px;
background-color: white;
border:1;
border-style: solid;
position: fixed;
padding: 5px 10px 5px 10px;
border-width: 1.2px;
line-height: 5px;
border-color: #a5aab1;
font-family: 'Lato', sans-serif;
font-weight:300;
text-align: center;
}
<form id="form" onsubmit="return false;">
<input type="text" id="account" />
<input type="text" id="url" />
<input type="submit" onclick="genorateCode();" />
</form>
<div id="code">
</div>
您需要将所有 HTML 标签从 <
和 >
转换为 <
和 >
。否则浏览器会将其呈现为 HTML。
而不是设置 innerHTML
,设置元素的 innerText
。
document.getElementById('code').innerText = '<a href="'+url+ ...
您的代码中有几处需要修改。第一个函数有局部变量 account
和 url
,然后你在第二个函数中访问它,当然不在它的范围内。
var account,url;
function genorateCode() {
// are you sure you want this document.getElementById("account")
// instead if this -> document.getElementById("account").value ???
account = document.getElementById("account").value;
url = document.getElementById("url").value;
sendCode();
}
在您的情况下,您可以使用 insertAdjacentHTML,如下所示:
function sendCode() {
var str = '<a href="' + url + '">' + '<div class="button"><img src="https://s15.postimg.org/mfpd2ki8r/icon.png" width="16">@' + account + '</div></a>';
document.getElementById('code').insertAdjacentHTML('beforeend', str);
}