jqTds =[
<td class="hidden-xs sorting_1">text1</td>
<td class=" ">text2</td>
<td class=" ">text3</td>
<td class=" ">text4</td>
<td class=" "><a href="#" class="edit-row">Edit</a></td>
<td class=" "><a href="#" class="delete-row">Delete</a></td>]
如何获得具有&#34;锚点的所有元素&#34;用class&#34; edit-row&#34;或&#34;删除行&#34;并获得所有其他没有它的人
//我正在编辑一个使用DataTables.Js的脚本我想要做的是将表行中的所有元素都放入(var jqTds = $(&#39;&gt; td:not(.hide_me)& #39;,nRow))现在我想在所有元素中包含一个输入,除了那些具有保存行类和编辑行类cos它们链接到保存/删除
提前致谢
答案 0 :(得分:0)
不知道你为什么把它们放在“数组”中,但如果你在它们仍在DOM中时运行它,请使用:has
伪选择器:
var $tds = $('td:has(a:.edit-row,a:delete-row)');
var $otherTds = $('td').not($tds);
第一个读。 *使用类edit-row
找到中锚点的任何td,或者使用类delete-row
找到其中的锚点。“
第二个简单地说,找到所有td
并从匹配中排除第一批:)
答案 1 :(得分:0)
您可以使用$.grep()
过滤数组。
使用传递给$.grep()
的函数,您可以尝试在当前<td>
内找到您的元素。如果找不到a.edit-row
或a.delete-row
,则返回true,否则返回false:
var filteredTds = $.grep(jqTds, function(td){
var $td = $(td);
return !$td.find('a.edit-row').length && !$td.find('a.delete-row').length;
});
答案 2 :(得分:0)
我能够这样做:
for (var i = 0; i < editColumn.length; i++) {
if ($(editColumn[i]).find("a").hasClass("edit-row") == true) {
editColumn[i].innerHTML = '<a class="save-row" href="">Salvar</a>';
}
else if ($(editColumn[i]).find("a").hasClass("delete-row") == true) {
editColumn[i].innerHTML = '<a class="cancel-row" href="">cancelar</a>';
}