1

我需要从 jquery 获得独特的结果,以使用同一类显示不同的高度。这是我更改以在 jsFiddle 上显示我的问题的示例:http: //jsfiddle.net/V6Gx6/4/一个段落明显高于另一个段落,但它给出了相同的结果。我知道“this”可以用于 .click 或 .hover 事件,但我不确定如何让它在这种情况下工作。你能帮助我吗?

$(window).ready (function(){
    $("div").text($("span").outerHeight(true));
});
4

3 回答 3

2

小提琴示例

$(window).ready (function(){
    $("span").each(function(){
        $(this).next('div').text($(this).outerHeight(true));
    })
});

这将遍历每个跨度并为其旁边的 div 分配该跨度有多高的文本值。

于 2013-09-04T23:46:12.293 回答
0

您需要id更多地使用该属性:

http://jsfiddle.net/V6Gx6/7/

$(window).ready (function(){
    $("#uno").text($("#one").height());
    $("#dos").text($("#two").height());
});
于 2013-09-04T23:46:27.047 回答
0

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));
});
于 2013-09-04T23:49:55.933 回答