更改TD的类别,具体取决于它是否包含<a> tag in JQuery</a>

时间:2014-09-10 10:10:42

标签: javascript jquery html css datatables

基本上我对Javascript / Jquery相当陌生,我正在寻找一种更全面的方法来向包含<a>标记的TD添加类。

目前,我的数据表中有90%包含TD中包含标签的最终列:“详细信息”按钮,“删除”按钮和“编辑”按钮。

到目前为止,我已经使用以下代码了解它:

$('table.dataTable td:contains("Details")').addClass('tdButton');

令我感到困扰的是,最后一栏有可能在不久的将来不会出现包含“详情”的文字。所以id宁可将它绑定到元素上。

以下是TD的简短说明:

<td class="tdButton">
    <a class="linkButton tdButton" href="/Aptitude2/TestletBank/Details/0da14b39-8fae-e311-9403-00155d0a0c32" id="linkButtonDetails_0">Details</a>
    <a class="linkButton tdButton" href="/Aptitude2/TestletBank/Edit/0da14b39-8fae-e311-9403-00155d0a0c32" id="linkButtonEdit_0">Edit</a>
    <a class="linkButton linkButtonDelete tdButton" href="/Aptitude2/TestletBank/Delete/0da14b39-8fae-e311-9403-00155d0a0c32" id="linkButtonDelete_0">Delete</a>
</td>

2 个答案:

答案 0 :(得分:1)

您可以使用has()

$('table.dataTable td').has("a").addClass('tdButton');

:has()

$('table.dataTable td:has(a)').addClass('tdButton');

都选择包含至少一个与指定选择器匹配的元素的元素。

答案 1 :(得分:0)

您可以确保使用带有ID选择器的:has选择器来获取锚标记详细信息:

$('table.dataTable td:has(#linkButtonDetails_0)').addClass('tdButton');

<强> Working Demo