我知道如何改变文本使用javascript (getElementById),但我如何使该文本包括eg.链接

I know how to change text using javascript (getElementById), but how do I make that text include eg. links?

本文关键字:文本 何使该 包括 链接 eg 何改变 改变 javascript 我知道 getElementById      更新时间:2023-09-26

所以我知道你可以使用getElementById来改变网页内的文本。例如:

document.getElementById("article").innerHTML = "Search engine is here.";

但是我如何,例如,使文本可点击。我想这样做,但这显然行不通:

document.getElementById("article").innerHTML = "<a onclick="myFunction()" href="#">Search engine is here.</a>"

那么,有人知道怎么做吗?你需要使用jQuery吗?

它不起作用,因为您有语法错误。这与jQuery无关。如果在字符串中需要引号,则需要转义字符串中的引号,或者更改引号。您可以在单引号字符串中嵌入双引号,反之亦然,但是要在双引号字符串中包含双引号,您需要通过在引号前添加'来转义它们。

下面三个选项中的任何一个都可以。

转义:

document.getElementById("article").innerHTML = "<a onclick='"myFunction()'" href='"#'">Search engine is here.</a>";

JavaScript单引号,HTML双引号:

document.getElementById('article').innerHTML = '<a onclick="myFunction()" href="#">Search engine is here.</a>';

JavaScript中的双引号,HTML中的单引号:

document.getElementById("article").innerHTML = "<a onclick='myFunction()' href='#'>Search engine is here.</a>";

另一种方法是真正通过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);
<div id="article"></div>

相关文章: