jquery获取一个DOM元素的高度给别一个DOM

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery获取一个DOM元素的高度给别一个DOM相关的知识,希望对你有一定的参考价值。

<div class="cp-box">
<a href="#" ><img src="images/cp3.jpg" width="215" height="320" />/a>
<div class="cp-abs">
<a href="#" > <div class="fdj"><img src="images/cp-fdj.png" alt="" /></div></a>
</div>
</div>
如何让.cp-abs获取.cp-box 里的img 高度的高度意思也就是:
<div class="cp-box">
<a href="#" ><img src="images/cp3.jpg" width="215" height="320" />/a>
<div class="cp-abs" sytle="style="height:320px;"">
<a href="#" > <div class="fdj"><img src="images/cp-fdj.png" alt="" /></div></a>
</div>
</div>
急求
这个是列表页面有很多个.cp-box
意思也就是说给class="cp-abs"的div加上一个sytle高度等于.cp-box 的高度就可以了

var h = $('.cp-box').height();
$('.cp-abs').css("height";parseInt(h));

追问


var h = $('.cp-box').height();
$('.cp-abs').css("height";parseInt(h));

这样写的吗?感觉没有反应呀
.cp-box 是列表有很多个

追答

你要在页面上的DOM加载完成这后再执行,这个JS方法

$(function()
    var h = $('.cp-box').height();
    $('.cp-abs').css("height",parseInt(h));//刚才这个地方写错了,中间应该是逗号            
);

追问

高度是出来了不过他全是读取了一个元素的高度了,我的这是瀑布流,每个高度都是不同的,
$(function()
var h = $('.cp-box').eq(0).height();
$('.cp-abs').css("height",parseInt(h));
);

cp-box是列表
我这样加eq好像不行,我是JQ菜鸟多指教

追答$(function()
    $('.cp-box').each(function()
        var h = $(this).height(); 
        $(this).children(".cp-abs").height(parseInt(h));       
    );  
);

试 一下这个吧, 我没有测试

参考技术A var h = $('.cp-box img').attr('width');
$('.cp-abs').css("height";h+'px');
参考技术B var height = $(".cp-box");
$(".cp-abs").height(height);

jQuery中DOM操作


1.CSS-DOM 操作

  获取和设置元素的样式属性: css()

  获取和设置元素透明度:opacity 属性

  获取和设置元素高度、宽度:height(),width()

  获取元素在当前视窗中的相对位移:offset() 其返回对象包含了两个属性:top,left。


2.加载 DOM

  在页面加载完毕后, 浏览器会通过 JavaScript 为 DOM 元素添加事件。 在常规的 JavaScript 代码中, 通常使用 window.onload 方法, 在 jQuery 中使用$(document).ready() 方法。


3.事件绑定

  对匹配的元素进行特定的事件绑定:bind()


4.合成事件

  hover(): 模拟光标悬停时间。当光标移动到元素上时,会触发指定的第一个函数,当光标移出这个元素时, 会触发指定的第二个函数。

  toggle():用于模拟鼠标连续单击事件。第一次单击元素,触发指定的第一个函数,当再一次单击同一个元素时,则触发指定的第二个函数, 如果有更多个函数,则依次触发,直到最后一个。

  toggle() 的另一个作用:切换元素的可见状态。


5.移除事件

  移除某按钮上的所有 click 事件: $("btn").unbind("click")

  移除某按钮上的所有事件: $("btn").unbind()

  one():该方法可以为元素绑定处理函数。当处理函数触发一次后,立即被删除。即在每个对象上,事件处理函数只会被执行一次。

 

以上是关于jquery获取一个DOM元素的高度给别一个DOM的主要内容,如果未能解决你的问题,请参考以下文章

jQuery中DOM操作

添加到 DOM 的元素在 jQuery 中没有宽度或高度?

求教:jquery如何操作隐藏的DOM元素

使用jQuery动态调整iframe高度,以及jQuery对dom元素的监听

vue获取dom元素的宽高

如何监听dom元素的显示隐藏事件