Javascript jQuery根据内容高度在加载时切换div类
我的模板上加载了动态内容。默认的div背景色为黄色,但当内容长度超过300px时,div将切换或附加将背景色更改为红色的类。下面是代码Javascript jQuery根据内容高度在加载时切换div类,javascript,jquery,css,toggle,Javascript,Jquery,Css,Toggle,我的模板上加载了动态内容。默认的div背景色为黄色,但当内容长度超过300px时,div将切换或附加将背景色更改为红色的类。下面是代码 <!DOCTYPE html> <head> <title>Untitled Document</title> <style type="text/css" media="all"> .short {background-color:yellow;padding:30px; width:200px;}
<!DOCTYPE html>
<head>
<title>Untitled Document</title>
<style type="text/css" media="all">
.short {background-color:yellow;padding:30px; width:200px;}
.long {background-color:red;padding:30px;width:200px;}
</style>
</head>
<body>
<div class="short">div content</div>
</body>
</html>
无标题文件
.short{背景色:黄色;填充:30px;宽度:200px;}
.long{背景色:红色;填充:30px;宽度:200px;}
div内容
试试这个
$(document).ready(function(){
$(".short").each(function(){
if($(this).height() > 300){
$(this).removeClass("short").addClass("long");
}
});
});
如果将html更改为如下所示:
<div id="messageDiv" class="short">div content</div>
$(document).ready(function () {
var $messageDiv = $("#messageDiv");
if($messageDiv.height() > 300) {
$messageDiv.toggleClass("long short");
}
});
但这只是一个粗略的想法,因为不清楚您是如何动态加载内容的,以及我们如何知道何时测试高度。您的动态内容是如何加载的?有没有什么地方可以让我们在内容动态加载完成后确定?这些内容是从服务器上呈现的,还是使用AJAX从客户端加载的?从服务器上:它们都显示为黄色-无法粘贴整个代码没有足够的空间我看到您有多个div用short这个词。你希望这些div的组合高度大于300吗?没关系,我犯了一个错误,工作非常完美。原始代码很好:$(document).ready(函数(){if($(“.short”).height()>300){$(“.short”).removeClass(“short”).addClass(“long”);};
$(document).ready(function () {
var $messageDiv = $("#messageDiv");
if($messageDiv.height() > 300) {
$messageDiv.toggleClass("long short");
}
});