javascript - 如果具有相同的 html,则显示元素,如果没有,则发出警报,提示 "no results"

标签 javascript jquery html

抱歉这个可怕的标题,我不擅长用这些东西。

我认为我想做的事情很简单。

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

下面是一些随机排列的字母。

当人们点击随机困惑的字母之一时,我会过滤隐藏的字母并显示相应的字母。

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

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

这是一把 fiddle (隐藏的词是“Seal”)- 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");

See Fiddle

关于javascript - 如果具有相同的 html,则显示元素,如果没有,则发出警报,提示 "no results",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17821528/

相关文章:

javascript - Uncaught Error : [$injector:unpr] Unknown provider: $animateProvider

javascript - 获取复选框值并设置

javascript - 单击下拉菜单在 jquery 中生成一行不起作用

javascript - JQuery 单页淡入/淡出切换(带导航)

javascript - 如何在 angular.js 中创建多选按钮

javascript - jquery slidetoggle 不会保持打开状态

html - 谁能解释为什么元素对齐中心?

javascript - 未通过添加 ajax 逻辑定义函数

javascript - 如何停止 "setInterval"

javascript - 在 Ember.js 中计算日期差异