【发布时间】:2012-01-10 09:37:58
【问题描述】:
请看下面的代码:
<HTML>
<HEAD>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<SCRIPT type="text/javascript">
function test(target) { alert(target.nodeName); }
</SCRIPT>
</HEAD>
<BODY>
<DIV>
<ul>
<li onclick="test(this)">This is fair</li>
<li onclick="test(this)">No its not</li>
<li onclick="test(this)">Why not</li>
<li onclick="test(this)">Becoz...</li>
</ul>
</DIV>
</BODY>
</HTML>
函数测试接收目标(li节点)作为参数。
现在,我能否以某种方式将此变量转换为 jQuery $(this) 或 $(e.target) 或任何其他 jQuery 变量,以便我可以使用 jQuery 方式遍历文档?
【问题讨论】:
-
是的,正是您建议的方式:
$(this)或$(e.target) -
好吧,在这种情况下,它将是
$(target)。 You can pass DOM elements to jQuery。就目前而言,在test内部,this将引用window,所以我认为将它传递给 jQuery 没有那么有用。当然你也可以直接传递jQuery对象:test($(this))。我还建议您使用 jQuery 绑定事件处理程序,而不是使用内联事件处理程序。
标签: javascript jquery html traversal