一个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()不能。请大师指教 展开
$( "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()不能。请大师指教 展开
2个回答
展开全部
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方法了。
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方法了。
展开全部
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>
<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>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询