jsFiddle Demo
事实上,这两段是不同的,你并没有设法正确配置你的选择器来区分它们。使用“div”将选择每个 div,因此您可能想要迭代该集合,然后使用该点的逻辑来计算相关跨度的高度。
使用each
将允许您迭代此集合。
$("div")
将生成一个 jquery 对象,该对象包含一个与选择器“div”匹配的元素数组,也就是说此时将有一个由两个 div 元素组成的数组。
然后该函数.each
将获取该元素数组并使用 for 循环迭代它们。在回调中,有可选的参数传入。注意回调是function(){}
部分。可选参数将是索引和元素,您可以根据自己的选择命名变量(如函数(索引,元素)),然后您可以在匿名函数内部使用这些变量。在匿名函数内部时,this
还将引用正在处理的数组中的当前元素。
//Gather an array of elements matching <div> in a jQuery object
//Iterate through the array of elements using `each`
//Use an anonymous callback function
$("div").each(function(){
//wrap the current element in a jQuery object to expose the API
var t = $(this);
//set the text of the element to the size of the previous span's height
//(previous relative to the current element)
t.text($(t).prev("span").outerHeight(true));
});