gpt4 book ai didi

javascript - 在 JavaScript 中执行 if(1>0) 时出现奇怪的行为

转载 作者:行者123 更新时间:2023-11-28 13:16:39 25 4
gpt4 key购买 nike

我真的很迷茫。我有以下代码:

function AddHeightToBottom(footerHeight)
{
if ($('#myId1').length)
{
$('#myId1').height($('#myId1').height() + footerHeight);
}
console.log(('#myId2').length);
if ($('#myId2').length > 0)
{
var dHeight = $('#myId1').height();
var aHeight = $('.AF').height();
$('#myId1').height(dHeight + aHeight);
var newHeight = $('#myId1').height();
alert(newHeight);
}
else
{
alert('why?!??????');
}
}

$('#myId2').length 结果为 1,正如我所料。然而,当它进行比较时

if(1 > 0)

它每次都在做第 2 件事,我不知道为什么。任何帮助将不胜感激。

最佳答案

您正在使用 jquery,因此请确保您在 document.ready 中运行它:

$( document ).ready(function() { 
if($('#element').length > 0) { //do thing 1 }
else { //do thing 2 }
});

如果您在另一个函数中调用此函数,则该函数必须出现在 document.ready 中。在文档“准备好”之前,无法安全地操作页面。 jQuery 会为您检测到这种准备状态。仅当页面文档对象模型 (DOM) 准备好执行 JavaScript 代码时, $( document ).ready() 中包含的代码才会运行。一旦整个页面(图像或 iframe)(而不仅仅是 DOM)准备就绪,$( window ).load(function() { ... }) 中包含的代码将运行。 * 引用自以下链接。

https://learn.jquery.com/using-jquery-core/document-ready/

function AddHeightToBottom(footerHeight)
{
if ($('#myId1').length){
$('#myId1').height($('#myId1').height() + footerHeight);
}
console.log(('#myId2').length);

if ($('#myId2').length > 0)
{
alert("See, it works...");

var dHeight = $('#myId1').height();
var aHeight = $('.AF').height();
$('#myId1').height(dHeight + aHeight);
var newHeight = $('#myId1').height();
alert("New height: " + newHeight);
}
else
{
alert('why?!??????');
}
}

$( document ).ready(function() {
var footerHeight = 25;
AddHeightToBottom(footerHeight);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<div id="myId1">div with id of myId1</div>
<br>
<div id="myId2">div with id of myId2</div>

关于javascript - 在 JavaScript 中执行 if(1>0) 时出现奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37333762/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com