遍历DOM深入

时间:2013-09-10 17:21:04

标签: javascript html

假设我有这个TR标签

<tr>
   <td>1</td>
   <td><a class="links" href="http://www.linkedin.com/in/jannuelanarna">Jannuel Christian Anarna</a></td>
   <td>Calabarzon, Philippines</td>
   <td>Market Research</td>
   <td>BDA Partnership</td>
   <td>Inside Sales Representative</td>
   <td><a href="#">Invite</a></td>
   <td><input type="checkbox" /></td>
</tr>

现在我已经将a.links作为目标:

var memberDiv = document.getElementByClassName('links');

现在在我的代码中,我有一个循环来评估href值是否与数组匹配。它将返回与值匹配的数组。现在我的问题是,如何使用href定位<td>,并删除锚标记?

1 个答案:

答案 0 :(得分:-1)

看完之后,我想我明白了。您想删除已找到匹配的TD元素中的锚点并将它们转换为常规文本,对吧?

解包锚点的jQuery代码看起来像这样。

$('tr td a[href="matched-link.html"]').contents().unwrap();

这是一个小提示,显示我认为您的问题需要的测试:http://jsfiddle.net/EcKKt/

编辑:

为了好玩,我还在这里创建了一个纯粹的JS例子:http://jsfiddle.net/xhR85/

要点是:

matches.forEach(function(match, i) {
    elements = document.querySelectorAll('tr td a[href="' + match + '"]');

    Array.prototype.forEach.call(elements, function(element, ii) {
        element.parentNode.innerHTML = element.innerHTML;
    });
});