【问题标题】:Can array members act as multiple jQuery selectors, AND as individually matched objects?数组成员可以充当多个 jQuery 选择器,以及单独匹配的对象吗?
【发布时间】:2011-11-02 11:02:09
【问题描述】:

这是一种常见的情况,但是通过Google + SO搜索后,我一直无法找到简单的解决方案。虽然similar to this question,重点不是积累多维数组,而是简单地ACT on无论选择器“获胜”,而不是选择器的整个“总和”。示例:

var findThese  = ['name', 'telephone', 'brasize'];
var chiXML     = "<philly><name>sandy</name><brasize>49DDD</brasize></philly>"                            
               + "<philly><name>amber</name><telephone>976</telephone></philly>";

$(findThese).find(chiXML)
            .parent()
            .data(the_1of3_matched_selector_from_findThese, theMatched Text);

以模糊的方式结束......

<philly data-name="sandy" data-brasize="49DDD">
    <name>sandy</name><brasize>49DDD</brasize></philly>                            
</philly>....

对不起,如果我的例子很糟糕......但我要说的是...... 是否可以“音译”列表/数组 - 作为“多项选择” jQuery 选择器 - 然后可以采取行动在查询操作的回调/函数部分单独使用 OR?

【问题讨论】:

    标签: jquery arrays variables find selector


    【解决方案1】:

    认为你想要这样的东西:

    $.each(findThese, function(i, selector) {
        $(chiXML)
            .find(selector)
            .each(function () {
                $(this).parent().data(selector, $(this).text());
            });
    });
    

    如果我对您的理解正确,您需要知道您的结果与多重选择器的哪个部分匹配并根据该值采取行动。

    您可以像我在上面所做的那样分解选择器并独立处理每个部分,让您更容易知道选择器的哪一部分得到了满足。

    【讨论】:

    • 我认为这比我想的更接近他正在寻找的东西。
    • 我总是很困惑parent 经常指代哪一代......我认为你的回答是正确的,但是 JS/JQ 的语法对我来说很难理解转过头来,我可能永远不会知道,哈哈。
    • .parent() (api.jquery.com/parent) 总是指直接的父元素:)
    猜你喜欢
    • 2010-12-31
    • 1970-01-01
    • 2015-08-08
    • 2011-12-18
    • 1970-01-01
    • 1970-01-01
    • 2018-09-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多