Jquery 获取所选项目';s文本并将其放入列表中

Jquery 获取所选项目';s文本并将其放入列表中,jquery,Jquery,我知道有类似的问题被问到,我读了所有这些,我的情景是不同的 我正在为项目列表构建一个过滤器。我有三组无序列表形式的下拉列表(它们看起来像一些jQuery工作的下拉列表)。下拉列表是用于筛选产品列表的类别 单击下拉列表中的每个项目时,将向该项目添加一个类“selected”,下面是一个示例: <ul class="products-group"> <li> <a href="#" class="selected">Group 1</

我知道有类似的问题被问到,我读了所有这些,我的情景是不同的

我正在为项目列表构建一个过滤器。我有三组无序列表形式的下拉列表(它们看起来像一些jQuery工作的下拉列表)。下拉列表是用于筛选产品列表的类别

单击下拉列表中的每个项目时,将向该项目添加一个类“selected”,下面是一个示例:

<ul class="products-group">
    <li>
        <a href="#" class="selected">Group 1</a>
    </li>
    <li>
        <a href="#">Group 2</a>
    </li>
    <li>
        <a href="#">Group 3</a>
    </li>
    <li>
        <a href="#" class="selected">Group 4</a>
    </li>
    <li>
        <a href="#">Group 5</a>
    </li>
</ul>
这可以工作,但它会将所有选定项作为一个长文本字符串输出。如何分离每个选定项并将其作为li列表项输出

我查找了.split()方法,但是区分单词并根据单词之间的间距将它们分开可能不是最好的方法。例如,组1是两个单词,它们之间有空格,但它是一个项目。

使用
.each()
循环遍历所选元素,并为每个元素附加一个
  • var list = $("<ul>");
    $('.products-group a.selected').each(function() {
        list.append($("<li>", { text: $(this).text() }));
    });
    $("#active-filters").empty().append(list);
    
    var list=$(“
      ”); $('.products group a.selected')。每个(函数(){ list.append($(“
    • ”,{text:$(this.text()})); }); $(“#活动筛选器”).empty().append(列表);
    您是否尝试附加?像这样的

    $.each(activeFilters, function(index, Group) {
      $('#newlist').append('<li><a href="#">'+Group+'</a></li>')
    }
    
    $。每个(活动筛选器、函数(索引、组){
    $('#newlist')。追加('
  • ')) }
    试试这个

    $('.filter btn')。单击(函数(){
    var activeFilters=$('.products group>li>a.selected');
    列表=document.createElement(“ul”);
    对于(i=0;i
    
    

  • activeFilters
    是一个字符串,而不是数组。我确实尝试过这个,我收到了一个错误,我认为是由于数据类型和@Barmar前面描述的内容造成的,但是谢谢。此行列表中有一个错误。追加($('
  • ,{text:$(this).text();});我不知道它是什么,但这行被标记为像一个符咒一样经过重新整理。谢谢你,先生!)如何使用id和#as href在li中抛出锚定链接?这是最适合我的输出:
  • 而不是
    text:$(This.text()
    使用
    html:$(“”,{id:$(This.text(),href:$(This.text()),text:$(This.text())
    var list = $("<ul>");
    $('.products-group a.selected').each(function() {
        list.append($("<li>", { text: $(this).text() }));
    });
    $("#active-filters").empty().append(list);
    
    $.each(activeFilters, function(index, Group) {
      $('#newlist').append('<li><a href="#">'+Group+'</a></li>')
    }