jquery(this)问题
给一系列
<li></li>
添加了onclick属性执行<script></script>里的函数,可是this却未能成功指定。
目的是想要选择ARS这个字符串以作数据库查询用。
<li class="dropdown"><a href="" onclick="queryfx().call($(this));">ARS</a>
<ul class="dropdown-menu">
<li><a href="">one</a></li>
<li><a href="">tow</a></li>
<li><a href="">three</a></li>
</ul>
</li>
个人分析需要用到call函数,可是并不成功。望前辈们解答。
另外这一部分知识应该看哪一部分来补充:(,谢!
目标魔法师
10 years, 3 months ago
Answers
这个写法太丑陋了
这样写,
query
这个函数是被
<a>
调用的,
this
指的时
<a>
,
call
的时候, 还是被
jquery
包装过的
jq
对象。
改进,直接给
<li>
添加事件函数,在通过
js
的
dom
操作获取
a
的
ARS
值,传入你的
query
事件函数里.
html 文件
<li class="dropdown" id="dropdown">
<a href="">ARS</a>
<ul class="dropdown-menu">
<li><a href="">one</a></li>
<li><a href="">tow</a></li>
<li><a href="">three</a></li>
</ul>
</li>
js文件 大概写法
window.onload = function (){
// 获取dom对象
var oli = document.getElementById("dropdwon");
var oars = oli.getElementsByTagName('a')[0];
// 获取 a 标签内的值
var avalue = oars.innerHTML;
// 绑定事件
oli.onclick = function(){
query(avalue);
}
}
function query(oars){
do something;
}
去google一些文档,大概了解下 html css js 三者的关系和如何组织吧。
17cmmmm
answered 10 years, 3 months ago