gpt4 book ai didi

javascript - 比较字符串给出错误的结果

转载 作者:行者123 更新时间:2023-12-03 04:32:34 24 4
gpt4 key购买 nike

我让用户在input中输入一个单词或一个句子,并将其与其他字符串进行比较。然后我对每个字符串结果运行 .each 来查看是否有匹配的字符串,如果有则继续删除一些元素:

var text2;
var text2B;
text2 = jQuery('#usp-title').val();
text2B = text2.toLowerCase();
jQuery("#datafetch").html(data).promise().done(function() {
jQuery("#datafetch ul li h2 a").each(function() {
var $this = jQuery(this);
if ($this.text().toLowerCase().trim() !== text2B.trim()) {
$this.parent().parent().remove();
jQuery(".jumbotron").remove();
jQuery("#componi").removeAttr("disabled", "disabled").show();
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="#usp-title" type="text">

但是 jQuery(".jumbotron").remove(); 无论如何都会发生。我知道这一点是因为所有结果都已使用 $this.parent().parent().remove(); 删除,而且我看不到它们,只留下正确的匹配字符串结果。

数据变量给出了一个项目列表:

<div id="#datafetch">
<ul>
<li>
<h2>
<a>Lorem</a>
</h2>
</li>
<li>
<h2>
<a>Ipsum</a>
</h2>
</li>
<li>
<h2>
<a>Dolor</a>
</h2>
</li>
</ul>

我什至尝试过:

if ($thisText !== text2B.trim()) {
jQuery(".jumbotron").hide();
$this.parent().parent().remove();
jQuery("#componi").removeAttr("disabled", "disabled").show();
} else {
jQuery(".jumbotron").show();
}

最佳答案

此代码中存在登录缺陷。 Jumbotron 总是被删除,因为单个不匹配(在任何字符串上)会将其删除。

在更新的代码(使用 hide() 和 show())中也存在类似的问题。即使发生匹配并显示大屏幕,下一次比较也会再次隐藏它。

解决方案是首先(在each()循环之前)隐藏大屏幕并仅在匹配时显示它。

关于javascript - 比较字符串给出错误的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43430765/

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