【问题标题】:jQuery simple arrayjQuery简单数组
【发布时间】:2013-10-07 15:44:39
【问题描述】:

您好,我正在尝试构建一个简单的数组,在其中搜索列表项中的名称数组并更改 jQuery 中的文本

我当前的代码是:

    jQuery(document).ready(function() {
            var xNames = ["Name1", "Name2", "Name3"];
            console.log(xNames);

            xNames = $.grep(xNames, function() {

                $('li:contains(xNames)').children("#products")
                                        .children(".pay-mo")
                                        .html("<p>&nbsp;</p><p class='cost'>&nbsp;</p><p class='stock'><strong>No longer available</strong></p>")
                                        .css("display", "block");
                $(".pay-mo").css("display", "block");
            });
        });

有什么简单的想法可以让它发挥作用吗?

【问题讨论】:

  • 您没有正确使用$.grep (api.jquery.com/jQuery.grep)。由于您没有真正解释您想要实现的目标,因此很难提出建议。
  • 如果你说什么不起作用,也许我们可以帮忙。
  • OK 这很难解释,但是,我有一个项目列表,其中包含列表项中的文本
  • 我无法编辑文本,因为它是动态生成的,所以我使用 jQuery 来更改它.不理想,但我的访问权限有限。
  • grep 对我来说是新的,这是我最后的尝试。
  • 标签: jquery arrays contains


    【解决方案1】:

    你必须使用:contains$.grep 用于搜索数组。

    $.each(xNames, function () {
        $("li:contains(" + this + ")").children("#products") // etc.
    });
    

    请注意,:contains 只是名称被包含。您可能想与.text 进行比较。

    【讨论】:

    • @MatthewWhite 您必须与 .text() 进行比较。
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签