Jquery 如果值不在列表中,如何执行操作?
如果值不在列表中(列表是特定类的第一个实例),我希望执行一个操作 HTMLJquery 如果值不在列表中,如何执行操作?,jquery,Jquery,如果值不在列表中(列表是特定类的第一个实例),我希望执行一个操作 HTML <ul class="links_ul"> <li>test</li> <li>test2</li> </ul> <input id="my_input"> <button class="click_me">click me</button> 如果某个值不在列表中,或者某个值在列表中,则会发出
<ul class="links_ul">
<li>test</li>
<li>test2</li>
</ul>
<input id="my_input">
<button class="click_me">click me</button>
如果某个值不在列表中,或者某个值在列表中,则会发出警报
jsFiddle
您必须使用.is(选择器)
检查列表是否包含该文本
试试看
您必须使用.is(选择器)
检查列表是否包含该文本
试试看
试试这个
if (! $('.links_ul li').is(':contains(' + myInputValueVal + ')')) {
alert(myInputValueVal + " not in list");
}
试试这个
if (! $('.links_ul li').is(':contains(' + myInputValueVal + ')')) {
alert(myInputValueVal + " not in list");
}
试试这个
$(document).on('click', '.click_me', function() {
var myInputValue = $("#my_input");
var myInputValueVal = myInputValue.val();
var $li = $('.links_ul:first li').filter(function() {
return $(this).text() === myInputValueVal;
});
if($li.length==0) {
alert(myInputValueVal + ' not in the list');
}
});
试试这个
$(document).on('click', '.click_me', function() {
var myInputValue = $("#my_input");
var myInputValueVal = myInputValue.val();
var $li = $('.links_ul:first li').filter(function() {
return $(this).text() === myInputValueVal;
});
if($li.length==0) {
alert(myInputValueVal + ' not in the list');
}
});
我相信这是一款更干净、更可重复使用的产品:
function valueExists(selector, value) {
var exists = false;
$(selector).each(function () {
if ($.trim(this.innerHTML) === value) {
exists = true;
break;
}
});
return exists;
}
$(document).on("click", ".click_me", function () {
var value = $("#my_input").value();
if ( !valueExists(".links_ul > li", value) ) {
alert("it's not in the list!");
}
});
我相信这是一个更干净,更可重复使用:
function valueExists(selector, value) {
var exists = false;
$(selector).each(function () {
if ($.trim(this.innerHTML) === value) {
exists = true;
break;
}
});
return exists;
}
$(document).on("click", ".click_me", function () {
var value = $("#my_input").value();
if ( !valueExists(".links_ul > li", value) ) {
alert("it's not in the list!");
}
});
如果文本是te,tes,es,t,est,则失败。@MaheshSapkal显然,:contains()将搜索子字符串。我喜欢这个答案,因为它是最简洁的,但正如前面提到的,它在子字符串上失败了。我尝试删除
包含的内容
,但是对于完整的单词来说,它不起作用。有没有一种方法可以使用这个简洁的模型而不会在子字符串上失败?@user1063287所以你想正确地检查确切的单词。@RajaprabhuAravindasamy是的,确切的单词。如果文本是te,tes,es,t,est,则失败。@MaheshSapkal显然,:contains()将搜索子字符串。我喜欢这个答案,因为它是最简洁的,但正如前面提到的,它在子字符串上失败了。我尝试删除包含的内容
,但是对于完整的单词来说,它不起作用。有没有一种方法可以使用这个简洁的模型而不会在子字符串上失败?@user1063287所以你想检查正确的单词。@RajaprabhuAravindasamy是的,正确的单词。