JQuery:如何获得多个嵌套元素?

时间:2017-03-22 09:09:41

标签: jquery

我有一个DOM结构,有许多嵌套元素。 某些元素具有数据属性“model”并包含 model 的名称。重要的是,DOM结构可以有多个具有相同模型名称的元素。此外,重要的是,嵌套元素没有сonstant结构 - 最初不知道元素的数量和嵌套元素的顺序。

enter image description here

需要按数据属性值获取元素(具体名称,例如:data-model="B")。重要的是,如果请求的元素包含具有不同名称的data-model属性的其他块,则必须从结果中排除这些元素。例如 - 如果我们得到data-model="C"(见图),结果应该只包含蓝色元素(必须排除黄色,因为它包含数据属性model = n和n!=“C”)。

如果我们得到data-model =“B”,结果必须包含所有黄色元素,包含所有元素(嵌套),但如果存在,则排除具有不同数据模型值的元素(不在图片中) ,但你可以看到上面的“C”考试。

检查DOM结构:

<div data-model="A">
    <div>
        I'm into A
        <div data-model="B">Some text B in A</div>
    </div>
    <div>
        <div data-model="C">
            <div data-model="B">
                Some text B in C
                <div>some1</div>
                <div>some2</div>
                <div>someN</div>
            </div>
            <div>I'm into C</div>
        </div>            
    </div>
    <div data-model="B">Some text B in A</div>
    <div>I'm also into A</div>
</div>

请求考试:

如果get data(s)with data-model =“A”,结果包含:

<div>
    I'm into A
</div>
<div>
</div>
<div>I'm also into A</div>

...使用data-model =“B”,结果应包含:

Some text B in A
Some text B in C
<div>some1</div>
<div>some2</div>
<div>someN</div>
Some text B in A

...使用data-model =“C”,结果包含:

<div>I'm into C</div>

0 个答案:

没有答案