【问题标题】:jQuery selector formattingjQuery 选择器格式化
【发布时间】:2019-02-25 16:00:45
【问题描述】:

我有一个问题我已经处理了一段时间了。

场景:我有一个包含多个下拉列表(html 选择)的网页。我想使用 each 语句(在 jQuery 中)遍历所有下拉列表,然后在每个下拉列表中搜索特定文本元素的选项。所以我有这个:

$.each(selects, function(ind, elem){ 
    var $this = $(elem);
    $($this + ' option').filter(function() { return $(this).text() === 'some text';});
});

我收到一条错误消息:Syntax error, unrecognized expression: [object Object] option

有谁知道如何组合$this 之类的对象加上选择器文本来获得我想要的结果?

任何帮助都会很棒。

谢谢, T

【问题讨论】:

    标签: jquery css-selectors each


    【解决方案1】:

    因此,您只需在 Document ready 事件上编写 JS 代码。

    如果您搜索的文本匹配,以下代码将返回该选项。我自己添加了一个 Selected 属性以供理解 -

    $( document ).ready(function() {
        var selects = $("select");
        $(selects).each(function(index, elem){
            var searchText = "c";
            if($(elem).find('option[value="'+searchText+'"]').length > 0){
                var searchResultElem = $(elem).find('option[value="'+searchText+'"]');
                searchResultElem.attr('selected','selected');
                console.log(searchResultElem);
            }
        });
    });
    

    【讨论】:

    • 好吧,我试过了,我得到了同样的错误信息。jsFiddle 需要进入控制台才能看到错误信息。谢谢。
    • Daniel,您的代码适用于选择适当的元素。不幸的是,它没有回答我的问题。问题是如何将“$this”或“elem”元素与文本连接起来,以创建一个不会抛出错误消息的 jQuery 选择器。即($(elem + ' option') 将等于 $("select#selectId option"))我很感激你花时间给我工作代码,但我仍然不知道如何结合元素和文本来选择我需要选择的内容。对于可能造成的任何混乱,我们深表歉意。
    猜你喜欢
    • 2011-01-30
    • 1970-01-01
    • 2021-12-22
    • 2013-08-02
    • 1970-01-01
    • 1970-01-01
    • 2010-11-15
    • 2011-08-27
    • 2011-06-09
    相关资源
    最近更新 更多