所以我知道你可以使用getElementById来改变网页内的文字.像这样的东西例如:
document.getElementById("article").innerHTML = "Search engine is here.";
Run Code Online (Sandbox Code Playgroud)
但是,我如何使文本可以点击.我想这样的事情,但这不会成功:
document.getElementById("article").innerHTML = "<a onclick="myFunction()" href="#">Search engine is here.</a>"
Run Code Online (Sandbox Code Playgroud)
那么,有没有人知道如何做到这一点?你需要使用jQuery吗?
它不起作用,因为您有语法错误.这与jQuery无关.如果在字符串中需要引号,则需要转义字符串中的引号,或更改引号.您可以在单引号字符串中嵌入双引号,反之亦然,但要在双引号字符串中包含双引号,您需要通过\在引号的前面添加要转义它来逃避它们.
下面三个选项中的任何一个都可以解决问题.
转义:
document.getElementById("article").innerHTML = "<a onclick=\"myFunction()\" href=\"#\">Search engine is here.</a>";
Run Code Online (Sandbox Code Playgroud)
JavaScript中的单引号,HTML中的双引号:
document.getElementById('article').innerHTML = '<a onclick="myFunction()" href="#">Search engine is here.</a>';
Run Code Online (Sandbox Code Playgroud)
JavaScript中的双引号,HTML中的单引号:
document.getElementById("article").innerHTML = "<a onclick='myFunction()' href='#'>Search engine is here.</a>";
Run Code Online (Sandbox Code Playgroud)
一种不同的方法是通过JavaScript真正构建元素.在这个片段中,你不需要转义引号或混合单引号和双引号,虽然知道转义仍然很好,因为如果你继续使用JavaScript,你不可避免地需要它.
无论如何,出于教育目的:
var div = document.getElementById("article");
// Create a link element
var link = document.createElement('a');
// Set its properties, events and content
link.href = '#';
link.onclick = function() {
alert('clicked!');
}
link.innerText = 'Text content of the link';
// Add the link to the div
div.appendChild(link);Run Code Online (Sandbox Code Playgroud)
<div id="article"></div>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
69 次 |
| 最近记录: |