this.text Function

this.text Function

本文关键字:Function text this      更新时间:2023-09-26

我有一个工作正常的内联函数。 单击链接时,它会将文本放入文本字段中:

 <a href="#" onclick="document.getElementById('textField').value =(this.text);">someText</a>

我想做的是能够将上述内容作为函数调用,而不是内联编写。 例:

function setValue() {
      document.getElementById('dd').value =(this.text);
}

并且能够这样称呼它:

<a href="#" onclick="setValue();">someText</a>

我以为这很简单,但由于某种原因它不起作用,并且在火虫中给我带来了错误。我认为这与从函数而不是内联调用"this.text"有关。 感谢您的任何帮助。

为什么不更进一步,将事件绑定代码也放在标记之外呢?将您的行为与演示分开是个好主意。

$("#anchor_selector").click(function () {
    $("#dd").val(this.text);
});

我会将id属性应用于您的锚点并在选择器中使用它。或者,您可以使用许多其他选择器之一来定位您的链接。

function setValue( text ) {
   jQuery('#dd').val( text );
}
<a href="#" onclick="setValue( jQuery( this ).text() );">someText</a>

你需要传递上下文,否则this将是全局范围(窗口(:

<a href="#" onclick="setValue(this);">someText</a>
function setValue(context) {
      document.getElementById('dd').value = $(context).text();
}

this正在丢失。尝试将setValue()设置为将对元素的引用作为第一个参数,然后在处理程序中传递this