gpt4 book ai didi

javascript - 不允许用户输入相同的关键字,有时有效,有时无效,jquery

转载 作者:行者123 更新时间:2023-12-02 16:11:14 25 4
gpt4 key购买 nike

我正在尝试创建一个不允许用户输入相同关键字的程序,我简化了我的代码,如下所示,我做错了什么?有时它有效,但有时它会认为每个关键字都是相同的。

$(".tag_link").click(function(event){
event.preventDefault();
var href = $.trim($(this).attr('href'));//trim href value
var txtToMatch = $('.result_tag').text();//must be a class, becuase id represent one.
var iMatch = txtToMatch.indexOf(href);

if (iMatch !== -1 ) {
//same keywords, not allow to enter
// put action here
alert('same keyword');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="result_tag" href="apple">apple</a>
<a class="result_tag" href="berry">berry</a>
<a class="result_tag" href="banana">banana</a>

<div>
<a class="tag_link" href="apple">apple</a>
<a class="tag_link" href="watermelon" >watermelon</a>
</div>

最佳答案

问题是因为 text() 方法只会返回集合中第一个匹配项的文本,而不是所有这些项的连接。为了解决这个问题,您可以使用 map() 创建文本值数组,然后使用 indexOf 查找该数组中的特定项目。试试这个:

$(".tag_link").click(function(event){
event.preventDefault();
var href = $.trim($(this).attr('href'));
var txtToMatch = $('.result_tag').map(function() {
return $(this).text();
}).get();

if ($.inArray(href, txtToMatch) !== -1 ) {
// same keywords, not allow to enter
// put action here
alert('same keyword');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="result_tag" href="apple">apple</a>
<a class="result_tag" href="berry">berry</a>
<a class="result_tag" href="banana">banana</a>

<div>
<a class="tag_link" href="apple">apple</a>
<a class="tag_link" href="watermelon" >watermelon</a>
</div>

关于javascript - 不允许用户输入相同的关键字,有时有效,有时无效,jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30156382/

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