为什么我的Jquery使用this不对呢?

chongan_wang 2009-11-12 08:47:20
.............
<script type="text/javascript">
function provinceSelected(){

alert($(this).attr("id"));

}
</script>

........
<input type="checkbox" id="04" onclick="provinceSelected();" name="mbgTopProvince" value="04" />
<label for="04">重庆 </label>

--------------
为什么alert有响应,但是取不到id值呢? 我试了好多种办法,都不行,直接 alert($("#04").attr("id")); 这样就可以取到 “04”,说明不是我jquery文件引入的路径不对。 为什么我使用 this 不行? 请针对 使用this的解决用法来回答。我要的主要的不是实现,而是使用 this 的正确方法????
...全文
149 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
chwoyaofei 2009-11-13
  • 打赏
  • 举报
回复
你这好像反了吧,通常都是通过ID找元素$("#id"),然后再对元素加工(加方法,属性,样式。。。)
如果真的要得到该元素的ID你可以在provinceSelected()中把this传过去,
js中
function provinceSelected(obj){
alert(o.id);
}
SuperBoo 2009-11-13
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 superboo 的回复:]
<script type="text/javascript">
function provinceSelected(){

              alert($(this).attr("id"));

}
</script>

你这个用法就不对  你让this 代表谁呢?
一般  this是这样用的
$("p").bind("click", function(){
  alert( $(this).text() );
});

这个时候  this代表  你的$("p")
也就是  元素id为p的 html元素
this一般用在 一个 元素的 回调方法中
[/Quote]

上边说错了啊

不是 id为 P的元素
是标签 <p>的所有元素
SuperBoo 2009-11-13
  • 打赏
  • 举报
回复
<script type="text/javascript">
function provinceSelected(){

alert($(this).attr("id"));

}
</script>

你这个用法就不对 你让this 代表谁呢?
一般 this是这样用的
$("p").bind("click", function(){
alert( $(this).text() );
});

这个时候 this代表 你的$("p")
也就是 元素id为p的 html元素
this一般用在 一个 元素的 回调方法中
hao1314 2009-11-13
  • 打赏
  • 举报
回复
你可以通过用jquery 中 Bind() 去给按钮做事件。。那样应该可以拿到了。
$(".mbgTopProvince").bind("click",function(){ alert($(this).attr("id"));
});
fansyao 2009-11-12
  • 打赏
  • 举报
回复
<script type="text/javascript">
$.provinceSelected=function(){
$("#04").click(function()
{
alert($(this).attr("id"));

});


}
</script>

........
<input type="checkbox" id="04" name="mbgTopProvince" value="04" />
<label for="04">重庆 </label>
sangshusen_1988 2009-11-12
  • 打赏
  • 举报
回复
这里this指示的对象是IE的window对象。这是因为provinceSelected只是一个普通的函数,对于attachEvent后,脚本引擎对它的调用和div对象本身没有任何的关系。同时你可以再看看provinceSelected的caller属性,它是等于null的。如果我们要在这个方法中获得div对象引用,应该使用:this.event.srcElement。不过这个貌似只能在ie下使用、最好的办法是在调用方式时传入this对象
onclick="provinceSelected();
function provinceSelected(t){
$(t).attr(id);
}
liucai1113 2009-11-12
  • 打赏
  • 举报
回复
Jquery,正在学习中。。。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧