一个jq的this的与$(this)的不同

<p>Clickordoubleclickhere.</p><span></span>$("p").bind("click",function(){alert($(thi... <p>Click or double click here.</p><span></span>

$( "p" ).bind( "click", function() {
alert( $( this ).text() );
});
能出来Click or double click here.但this.text()不能

$( "p" ).bind( "dblclick", function() { $( "span" ).text( "Double-click happened in " + this.nodeName );});

能显示Double-click happened in p但$(this).text()不能。请大师指教
展开
 我来答
vampire_c
推荐于2016-08-10 · TA获得超过735个赞
知道小有建树答主
回答量:315
采纳率:0%
帮助的人:485万
展开全部
this 与 $(this) 是不一样的对象
this指针表示的是当前function中的context对象,

在 jQuery 事件中:
- this 表示的是当前事件发生的目标元素(DOM对象)
- $(this) 表示将该元素封装为一个 jQuery 对象

例如
$( "p" ).bind() 中的 this 就是一个 p 元素,它是DOM对象,拥有的属性和方法都是DOM对象的属性和方法。
$(this)则是将这个p元素封装为一个jQuery对象,从而可以使用jQuery定义的一些方法来访问DOM对象。
$(this).text() 方法属于jQuery对象,作用是取得元素的文本内容,与之对应的DOM对象属性是 this.textContent
同样,$(this).html() 是取得元素内的HTML内容,对应的是 this.innerHTML。
而 this.nodeName 则没有对应的jQuery方法了。
ClownCreed
2015-04-09
知道答主
回答量:38
采纳率:100%
帮助的人:6.3万
展开全部
js部分没有问题,估计和html部分有关系,下面是我的代码,点击是有效果的。
<html>
<body>
<p>Click or double click here.</p><span></span>
</body>
</html>
<script src="jquery-1.11.2.min.js"></script>
<script>
$( "p" ).bind( "click", function() {
alert( $( this ).text() );
});
//$( "p" ).bind( "dblclick", function() { $( "span" ).text( "Double-click happened in " + this.nodeName );});
</script>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式