如果元素具有相同的html,则显示该元素,如果没有,则发出警告说“”;没有结果”;

Show element if has same html and if not make an alert saying "no results"

本文关键字:元素 警告 结果 显示 html 如果 如果没有      更新时间:2023-09-26

很抱歉标题太糟糕了,我对这些东西的措辞很糟糕。

我想我想做的很简单。

我有一组隐藏的字母组成一个单词。

下面是随机挑选的杂乱的字母。

当人们点击其中一个随机混乱的字母时,我会过滤掉隐藏的字母并显示相应的字母。

我需要做的是,如果有人点击了一封信,过滤掉隐藏的字母,要么返回"true"并显示这封信,要么返回一个"false/null"并发出警报();

这就是我目前的过滤方式。我很困惑把if语句放在哪里,或者这是否是我应该采取的方法。

这是一把小提琴(隐藏的单词是"印章")-http://jsfiddle.net/GA7WB/

var $buttons = $('#letters span'),
    $hidden = $('.letter');
$buttons.click(function(){
    _selected = $(this).html();
    $hidden.filter(function() {
        return $(this).text() == _selected;
    }).show();
});

您只需要检查过滤器返回的结果的长度:

// get matched elements
var matches = $hidden.filter(function() {
    return $(this).text() == _selected;
});
// show them, or alert if none
if (matches.length > 0) matches.show();
else alert("There are no " + _selected + "'s");

请参阅Fiddle

如果找到一个标志,请尝试设置:

var $buttons = $('#letters span'),
var $hidden = $('.letter');
$buttons.click(function(){
    _selected = $(this).html();
    var foundOne = false;
    $hidden.filter(function() {
        var retval = $(this).text() == _selected;
        if (retval) foundOne = true;
        return retval;
    }).show();
    if (!foundOne) {
        alert("Nope");
    }
});

小提琴http://jsfiddle.net/GA7WB/4/