有没有办法通过元素的类名获取元素的offsetheight

时间:2018-08-28 10:19:47

标签: jquery html

正如this所建议的,我们可以使用ID来获取offsetheight。反正可以通过使用类名来实现?

$("#btn2").click(function(){
    var elmnt = document.getElementById("myId");
    alert("Offset height : "+ elmnt.offsetHeight);
})

$("#btn1").click(function(){
    var elmnt = document.getElementsByClassName("myClass");
    alert("Offset height : "+ elmnt.offsetHeight);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="myId" class="myClass">Lorem Ipsum!</div>

<button id="btn1">Ofset height using Class Name</button>

<button id="btn2">Ofset height using Id</button>

这不是此question的重复,因为我想知道如何选择class的OffsetHeight,并且这个问题的答案清除了这一点

1 个答案:

答案 0 :(得分:1)

getElementsByClassName将返回元素的集合。您需要在匹配集中找到第一个元素,然后在其上使用offsetHeight属性:

var elmnt = document.getElementsByClassName("myClass")[0];

$("#btn2").click(function(){
    var elmnt = document.getElementById("myId");
    console.log("Offset height : "+ elmnt.offsetHeight);
})

$("#btn1").click(function(){
    var elmnt = document.getElementsByClassName("myClass")[0];
    console.log("Offset height : "+ elmnt.offsetHeight);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="myId" class="myClass">Lorem Ipsum!</div>

<button id="btn1">Ofset height using Class Name</button>

<button id="btn2">Ofset height using Id</button>