javascript - 无法从事件处理程序 "this"对象获取属性

标签 javascript jquery

<select onchange="alert($(this).attr('data-type'))">
    <option data-type="1" value="a">a</option>
    <option data-type="2" value="b">b</option>
</select>

当我在 jsfiddle 上运行它时,我得到 null。有什么想法吗?

这是 js fiddle :

http://jsfiddle.net/49wyG/

谢谢!

最佳答案

您必须获取元素的选定索引并从那里开始,尝试以下操作:

<select onchange="alert(this.options[this.selectedIndex].getAttribute('data-type'));">
    <option data-type="1" value="a">a</option>
    <option data-type="2" value="b">b</option>
</select>

对我来说效果很好。

关于javascript - 无法从事件处理程序 "this"对象获取属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15561738/

相关文章:

javascript - 我如何为从数组创建的 <button> 提供它们自己的单独 id?

javascript - jquery被选择

javascript - 如何在表中的最后一行之后添加行

javascript - JQuery Validation 重新验证

javascript - 浅层比较与 Pure Component 和 setState 的值(value)如何?

javascript - 如何将此数据编码为 JSON 中的父/子结构

javascript - 从 postMessage 事件接收到的 eval() 代码有多安全?

javascript - NodeJS集群,真的需要吗?

javascript - IE 跟随链接甚至在 onclick ="return false;"之后

javascript - 导航中两个元素的背景颜色