码迷,mamicode.com
首页 > Web开发 > 详细

jQuery的 this和$(this)

时间:2017-07-19 14:39:47      阅读:340      评论:0      收藏:0      [点我收藏+]

标签:dea   for   visible   ons   move   ext   line   匹配   amp   

今天刚刚遇到的问题,用jquery主要的目的是想匹配一个标签内的字符串后执行几个操作

 1 {loop $qq_result $activity}
 2                 <dd>
 3                     <a href="qq?viewthread&tid={$qq[‘tid‘]}&mobile=2">
 4                         <div class="deantabimg"><img src="qq/{$activity[‘activityaid_url‘]}" width="120" zsrc="qq/forum/{$activity[‘activityaid_url‘]}" style="display: inline; visibility: visible;"></div>
 5                         <div class="deantabinfo">
 6                             <div class="deantabil"><span>{$qq[‘author‘]}</span></div>
 7                             <h3>{$qq[‘subject‘]}</h3>
 8                             <div class="deantabir"><span class="qq_price"><b>{$qq[‘use_cost‘]}</b></span> <span class="view_reply_wrap"><b>{$qq[‘views‘]}</b><strong>{$qq[‘replies‘]}</strong></span></div>
 9                         </div>
10                     </a>
11                 </dd>
12                 {/loop}

这总共循环了10条数据,我想查询到的是.deantabil 下的span里的数据,首先我是用的是each方法循环遍历,当我想获取{$qq[‘author‘]} 的text()时 我使用的是this ,结果浏览器报错:

$(".activity_list dd").each(function() {
            var text = this.find(‘.deantabil span‘).text();
            if(text === ‘文‘ || text ===‘宇‘){
                this.remove();
            }

this并没有指向当前的 <dd> ,我使用console.log打印this,这个this指向了html对象;之后我又将this换成$(".activity_list dd .deantabil")想让它寻找span,结果text变量变成了包含了10条数据数组;

最后将this改用了jquery的特殊上下文对象 $(this),查询正常,输出也正常。这就证明在each()方法内部 必须得和$(this)配套使用。

它们之间的区别:$(this)是jquery的特殊上下文对象,在each循环遍历的语句中尤为重要;this则是原生的html上下文,使用范围更加广泛。

 

jQuery的 this和$(this)

标签:dea   for   visible   ons   move   ext   line   匹配   amp   

原文地址:http://www.cnblogs.com/xuanya/p/7205107.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!