我在 Drupal。叹。表格输出带有 <caption> ,没有类/id,所以我试图将“new”这个词附加到表格的标题中,但前提是该表格包含以“GW6D”开头的产品。

由于表格是通过 View 动态输出的,因此我无法访问 html 中的直接标题标签来添加类。 (我不能在模板中这样做,因为那样每个标题都会有那个类,所以我会试图弄清楚如何选择没有正确产品的表格的标题并删除那个类)

我试过了:

var target = $("table.views-table td:contains('GW6D')").closest("table");
$(target).each(function(){
    $(this).prepend('<span class="newProdStyling">New</span>');
    });

这适用于这个词。我可以将 'tr', 'td' 放在那个选择器中,但如果我使用 .closest("caption"); ,我似乎无法定位实际标签。现在,此代码段将为每个 prod 附加一个"new",因此尽管它现在创建了太多“新闻”,但我只想让它在 <caption> 标记之前添加。

我也坚持使用 jquery 1.3.2,但我没有发现任何说明 tageting <caption> 是特定于版本的。

准系统jsfiddle:http://jsfiddle.net/UbtmJ/4/

最佳答案

<caption> 不是 td 元素的父元素(这就是 closest 找不到它的原因)。但它在 <table> 内,所以一旦你到达那个你就必须向下走。

var target = $("table.views-table td:contains('GW6D')").closest("table").find('caption');
$(target).prepend('<span class="newProdStyling">New</span>');

关于jquery:选择 <caption> 元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19255919/

10-13 02:56