javascript - 具有多个 div 遍历的 if/else JavaScript 语句

标签 javascript jquery

我正在尝试检查一组 id='checkbox-selector-chosen' 的 div,以查看这些 div 中是否存在动态变量 name。以下代码仅在存在一个“checkbox-selector-chosen”div 时才有效。我想做的是获取下面的代码来检查所有“checkbox-selector-chosen”div 是否存在 name

if($(".checkbox-selector-chosen").text() == name) {
   do something...
}

我正在使用的 div 的结构如下:

<div id="selected-results" class="group">
  <div class="checkbox-selector-chosen">John</div>
  <div class="checkbox-selector-chosen">Dave</div>
  <div class="checkbox-selector-chosen">Jack</div>
</div>

我是 JS/JQuery 新手,我确信这是一个简单的问题,但在我用头撞 table 两天后,我决定在这里提问。

任何帮助将不胜感激!

最佳答案

您可能想使用:contains() selector查看该项目是否存在 ( JsFiddle Demo )

var name='Dave';

//Get all items that contain 'Dave'
var items = $(".checkbox-selector-chosen:contains('" + name + "')");

if (items.length > 0) {
    alert(items.length + ' items found');
}

更新

如果您担心有多个匹配项,您可以使用我的示例以及 each() 函数。 (JsFiddle Demo)。这种方法的优点在于您不必循环遍历所有子 div - 您只需要循环遍历包含所需匹配文本的 div。

var name='Dave';

//Get all items that contain 'Dave'
var items = $(".checkbox-selector-chosen:contains('" + name + "')");

if (items.length > 0) {
    items.each(function(){
        if ($(this).html()==name){
           alert('item found!');
           break;
        }
    });
}

更新2

下面是一个示例,演示了此技术的充分使用。当您单击名称 div 时,将从单击的对象中解析名称,然后我们使用上述方法来查找正确的 div。当然,这不是完成此特定任务的最佳方式,但简单地说明了这个概念。 (JsFiddle Demo)

function findName(name){
    var items = $(".checkbox-selector-chosen:contains('" + name + "')");
    $('.checkbox-selector-chosen').css({'background':'#fff'});
    if (items.length > 0) {
        items.each(function(){
            if ($(this).text()==name){
                $(this).css({'background':'#ff0'});
            }
        });
    }
}

$('.checkbox-selector-chosen').click(function(){
   findName($(this).text());
});

关于javascript - 具有多个 div 遍历的 if/else JavaScript 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6583231/

相关文章:

javascript - 卡住力定向网络图并在 D3 中可拖动

javascript - Puppeteer - 如何获取当前页面(应用程序/pdf)作为缓冲区或文件?

javascript - JavaScript 数组中唯一项的简单计数

javascript - 如何让 x-editable 与 ajax 内容一起工作

javascript - 为什么在jsfiddle中显示ReferenceError : function is not defined?

javascript - 替换 Angular 中的 JSON 值

javascript - 如何在 JavaScript 中删除/更改动态创建的 CSS 类

javascript - GSP 中的 Onclick 删除功能问题

javascript - jQuery 的scrollTop/scrollTo 模糊?

jquery - 如何创建 jqGrid 上下文菜单?