jQuery问题:当指定Div内容长度大于0时隐藏目标Div,现有代码无法正常运行
问题分析与修正方案
你的代码逻辑思路没问题,但核心bug出在获取内容长度的方式错误——你现在用的$('#myid').length是在统计匹配到的DOM元素数量(这里只会返回1,因为id是唯一的),而不是这个div内部文本内容的长度,这直接导致判断逻辑完全不符合预期啦。
修正后的完整代码
HTML(无需修改)
<div id="myid">90.00</div> <div class="myclass">99.00</div>
JavaScript
$(document).ready(function() { // 获取myid的文本内容,先去除首尾空白(避免空格/换行干扰判断) const contentLength = $('#myid').text().trim().length; if(contentLength > 0){ $('.myclass').hide(); } else { $('.myclass').show(); } });
关键修改点解释
$('#myid').text():获取目标div的纯文本内容,而不是元素本身.trim():移除内容前后的空白字符(比如不小心加的空格、换行符),确保长度判断准确- 对比
contentLength > 0:当处理后的内容长度大于0时隐藏myclass,否则显示它
这样修改后,就能完美实现你想要的逻辑:当myid的内容非空时隐藏myclass,内容为空(或仅含空白)时显示myclass。
内容的提问来源于stack exchange,提问作者user4449524
相关产品推荐
相关产品推荐

