为什么$(this).text()在点击li后返回""?

spr*_*t12 0 javascript jquery onclick

为什么这会在点击事件中返回一个空白字符串""?

function saveSelection()
{
    var selectedValue = $(this).text(); // --> is ""
}
Run Code Online (Sandbox Code Playgroud)

对于

<ul>
   <li data-bind="item" onclick="saveSelection();">Value1</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

Mam*_*muz 7

将其添加为参数:

function saveSelection(element)
{
    var selectedValue = $(element).text(); // --> is "Value1"
}
Run Code Online (Sandbox Code Playgroud)

对于

<ul>
   <li data-bind="item" onclick="saveSelection(this);">Value1</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

  • 或者,因为他正在使用jQuery,他可以杀死内联函数调用,然后param变成`event`.称之为`$("li [data-bind = item]").on("click",saveSelection);`或用作***dynamic***输入的委托.例如`$("ul#ulID").on("click","li [data-bind = item]",saveSelection);` (4认同)