jquery 中this和$(this),.find() 与 .children() 的区别
this与$(this)
$("#desktop a img").each(function(index){
alert($(this));
alert(this);
}
alert($(this)); 弹出的结果是[object Object ]
alert(this); 弹出来的是[object HTMLImageElement]
也就是说,后者返回的是一个html对象(本例中是遍历HTML的img对象,所以为HTMLImageElement)。
Object - 是jquery对象
HTMLImageElement - 是一个html对象
var $backgroundImage = $(this).find(".news-thumb").css("background-image");
var $title = $(this).find("h2").text();
var $date = $(this).find("h6").text();
var $summary = $(this).find("p").html();
find() 和children()
.find() 方法允许我们在 DOM 树中搜索这些元素的后代,并用匹配元素来构造一个新的 jQuery 对象(无论多少层子元素都可获取)。
.find() 与 .children() 方法类似,不同的是后者仅沿着 DOM 树向下遍历单一层级(仅获取下一层子元素)。
.find() 方法第一个明显特征是,其接受的选择器表达式与我们向 $() 函数传递的表达式的类型相同。
将通过测试这些元素是否匹配该表达式来对元素进行过滤。