如何找到具有相同data- *属性的元素并删除重复的项目?

时间:2013-10-22 12:53:37

标签: javascript jquery html html5 html-table

我在<tr>中有一个<table>元素列表,它在<tr><td>元素中包含自定义数据属性。

此表包含一些具有相同data- *属性的重复<tr>标记..我不希望在页面中显示这些标记。

如何确定data- *属性并获取其值并在该表的页面上查找重复元素,并删除额外的<tr>标记。

这是我生成页面后的HTML代码:

<table border="1">
    <tr class="clickable" data-hiddenfields="{&quot;hiddenFields&quot;:[]}" data-link="/site/product/1" data-index="0">
        <td data-fieldvalue="Username" data-fieldname="Name">
            <div data-fieldname="Username"></div>
            <span>
                <input type="checkbox" value="2" id="Username" name="checkbox" class="thumbnail">
            </span> Username
        </td>
        <td data-fieldvalue="Username"data-fieldname="FormLable">
            <div data-fieldname="Username"></div><span></span>Username
        </td>
        <td data-fieldvalue="Username" data-fieldname="FieldName">
            <div data-fieldname="Username"></div><span></span>Username
        </td>
        <td data-fieldvalue="2" data-fieldname="id">2</td>
    </tr>
    <tr class="clickable" data-hiddenfields="{&quot;hiddenFields&quot;:[]}" data-link="/site/product/1" data-index="1">
        <td data-fieldvalue="Username" data-fieldname="Name">
            <div data-fieldname="Username"></div>
            <span>
                <input type="checkbox" value="2" id="Username" name="checkbox" class="thumbnail">
            </span> Username
        </td>
        <td data-fieldvalue="Username" data-fieldname="FormLable">
            <div data-fieldname="Username"></div><span></span>Username
        </td>
<td data-fieldvalue="Username" data-fieldname="FieldName">
        <div data-fieldname="Username"></div><span></span>Username
    </td>
    <td data-fieldvalue="2" data-fieldname="id">2</td>
    </tr>
</table>

我已经用data-link="value"删除了元素,但data-link的值是动态的...我怎么能得到它..

如果内部有输入元素,我怎样才能删除第二个和第三个Username中的文本<td>

Fiddle

1 个答案:

答案 0 :(得分:0)

你的第一个问题:

var searchText = $('tr').first().attr("data-link");
var el = $('tr[data-link="'+searchText+'"]');
console.log(el.length);
el[1].remove();

jsfiddle:http://jsfiddle.net/FCbp8/3/