Jquery 将str与选择器匹配

Jquery 将str与选择器匹配,jquery,Jquery,我有一个列表中的项目列表 第一项第二项 另一项 此外,我还从URL获取以下格式的变量: Item-two 选择匹配项的最佳方式是什么 现在,我使用URL变量并去掉连字符以合成一个单词 $item= str_replace('-', '', $_GET['item']); 那么,现在,我是否需要遍历列表并删除空格/破折号和匹配项 var getItem = '".$item."'; if (getTerm != '') { $('#itemList li').each(fu

我有一个列表中的项目列表

  • 第一项
  • 第二项
  • 另一项
  • 此外,我还从URL获取以下格式的变量:

    Item-two
    
    选择匹配项的最佳方式是什么

    现在,我使用URL变量并去掉连字符以合成一个单词

    $item= str_replace('-', '', $_GET['item']);
    
    那么,现在,我是否需要遍历列表并删除空格/破折号和匹配项

    var getItem = '".$item."';    
    
    if (getTerm != '') {
    
        $('#itemList li').each(function() {
            var that = $(this).replace(/[\\. ,:-]+/g,'');
            if (getTerm  == that) {
                // found selector -- do something
            }
        });
    
    } else {
        // do something else
    }
    

    它对我来说是正确的,但是我没有得到找到匹配元素的预期结果。。。我遗漏了什么?

    假设
    getTerm
    在混合js-php范例中正常工作。您应该能够找到这样的元素:

    // instead of "Itemtwo" or "Item-two" 
    // lets make it match exactly as in "Item two"
    getTerm = getTerm.replace('-',' '); 
    
    $('#itemList li').each(function() {
        var that = $(this);
        if (getTerm  == that.text()) {
            that.css('color','red'); // for example
        }
    });
    

    你在混合使用JavaScript和PHP吗?不要认为
    var getItem='“$item.”将起作用。我怀疑问题在于regexp和
    .replace的不正确用法是的,var工作正常。我在前面的页面中设置了它,并使用PHP去除连字符。它产生类似“itemtoo”的内容。我的问题是如何使用.each()。我只需要找到第一个匹配的元素。给投票人的信息:想提供解决方案吗?。这会更容易,但URL中的所有项目都有连字符,列表中只有少数项目有连字符,而大多数项目没有。但是你的例子帮助我看到了我遗漏的东西:.text()谢谢!