jquery - 无法在 jQuery 中设置父级 "<tr>"的 CSS 属性

标签 jquery html css

我有一个 table像这样:

<table>
    <tbody style="border: 4px solid red;">
        <tr>
            <td class="HeaderOfTable" style="width:5%; padding:5px;">#</td>
            <td class="HeaderOfTable" style="width:70%; padding:5px;">Title</td>
            <td class="HeaderOfTable" style="width:10%; padding:5px;">Number of Items</td>
            <td class="HeaderOfTable" style="width:15%; padding:5px;">Operations</td>
        </tr>
        <tr>
            <td>1</td>
            <td>Gone With the Wind</td>
            <td>2</td>
            <td>
                <input type="button" class="btnShowSearchResults" value="Show Item Details">
            </td>
        </tr>
    </tbody>
</table>

jQuery代码如下:

$('body').on('click', '.btnShowSearchResults', function() {
    $(this).parents('tr').css('border', '1px solid red');
});

问题很明显: parent 'tr'边界不会改变!请注意:

  • 这对其他元素非常有效:

$(this).parent().css('border', '1px solid red');作品! $(this).parents('tr').parent().css('border', '1px solid red');作品! $(this).parent().prev().css('border', '1px solid red');有效!

  • 执行后父tr的样式变为<tr style="display:table-row; border: 1px solid red;">但浏览器仍然没有变化!
  • 最后,我认为这不适用于 'tr' s.

最佳答案

您自己找到了解决方案:您不能在 tr 标签上使用 border。这与 jQuery 或 parent() 无关。

将它应用于行的每个 td 可能是一种可行的方法。取决于您的需求。

关于jquery - 无法在 jQuery 中设置父级 "<tr>"的 CSS 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24841858/

相关文章:

javascript - 从导航栏链接移动到一个 Div/ID

html - 被粘性页脚难住了 - 不会在预期的地方停止

jquery - 应用于父 div 的框阴影会切断 IE 中的子 div

javascript - 如何在 JavaScript 中将 backgroundColor 分配给 var

javascript - 哪个是最好的图形 jquery 或 javascript 库?我

javascript - jQuery 表行切换显示/隐藏与按钮关联

html - 根据条件删除 detailPanel 导致填充

Jquery 表单验证插件帮助

css - 带有 React 的随机背景图片

javascript - jQuery UI Vertical Tabs 使页面滚动 "stick"