将嵌套文本转换为Javascript中的变量
例如,假设我有以下代码:将嵌套文本转换为Javascript中的变量,javascript,html,Javascript,Html,例如,假设我有以下代码: <a onclick="afunction()">1</a> 我希望函数通过单击标记内的嵌套文本(在本例中为数字1)使该文本成为输出变量所等于的内容。但是我该怎么做呢?像这样使用textContent <a id="myLink">1</a> window.doSomething=函数() { 回复“你好”; } 我确信您不需要JSFIDLE,但它仍然在这里: 这样做的目的是更改调用者的上下文(在您的例子中是该元素
<a onclick="afunction()">1</a>
我希望函数通过单击标记内的嵌套文本(在本例中为数字1)使该文本成为输出变量所等于的内容。但是我该怎么做呢?像这样使用
textContent
<a id="myLink">1</a>
window.doSomething=函数()
{
回复“你好”;
}
我确信您不需要JSFIDLE,但它仍然在这里:
这样做的目的是更改调用者的上下文(在您的例子中是该元素)JS:
function afunction()
{
var output='New Text';
event.target.innerHTML=output;
}
即使elmeent的内容是纯文本,
.innerHTML
仍然比.textContent
更受欢迎,因为兼容性的原因。我的答案没有考虑浏览器兼容性,因此只使用addEventListener
。我已经就是否应该在你的答案中提供兼容性信息进行了长时间的讨论。大多数是支持的。如果我提供一个完全兼容的答案,它会使答案变得复杂,信息量也会减少,兼容性是每个人都需要了解自己的东西。@康纳兼容性应该包括在任何需要考虑的“简单”示例中。
var output = 'New Text Content';
var link = document.getElementById('myLink');
link.addEventListener('click', function() {
this.textContent = output;
});
<a href='#' onclick='this.innerHTML = doSomething();' >1</a>
window.doSomething = function ()
{
return "hello";
}
function afunction()
{
var output='New Text';
event.target.innerHTML=output;
}