[英]Changing style of all td elements in specific rows given tr id
我從for
循環中獲得了特定的tr
id:
let rowId = viewPermissionDataTable.getTbodyEl().childNodes[i+1].id;
我嘗試為特定tr
中的所有td
添加邊框:
$('#rowId td').each(function() {
$('td').css('border-top', '1px solid #7f7f7f');
});
$('#' + rowId).each(function() {
$('td').css('border-top', '1px solid #7f7f7f');
});
知道如何解決這個問題嗎?
謝謝你。
除非您必須過濾css
的應用程序,否則您不必迭代"tr"
的所有“td”子項。
如果您在$.each
中考慮this
上下文,即使這種方法也可以工作。 目前,它被應用於所有"td"
元素。
$('#target td').css('border-top', '1px solid #7f7f7f');
table { font-family: arial, sans-serif; border-collapse: collapse; width: 100%; } td, th { text-align: left; padding: 8px; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <table> <tr> <th>Company</th> <th>Contact</th> <th>Country</th> </tr> <tr> <td>Alfreds Futterkiste</td> <td>Maria Anders</td> <td>Germany</td> </tr> <tr id="target"> <td>Centro comercial Moctezuma</td> <td>Francisco Chang</td> <td>Mexico</td> </tr> <tr> <td>Ernst Handel</td> <td>Roland Mendel</td> <td>Austria</td> </tr> <tr> <td>Island Trading</td> <td>Helen Bennett</td> <td>UK</td> </tr> <tr> <td>Laughing Bacchus Winecellars</td> <td>Yoshi Tannamuri</td> <td>Canada</td> </tr> <tr> <td>Magazzini Alimentari Riuniti</td> <td>Giovanni Rovelli</td> <td>Italy</td> </tr> </table>
在this
情況下考慮您的方法
$('#target').each(function() { $("td", this).css('border-top', '1px solid #7f7f7f'); }); //OR using just `this` in the callback and selecting `td` elements in selector /*$('#target td').each(function() { $(this).css('border-top', '1px solid #7f7f7f'); });*/
table { font-family: arial, sans-serif; border-collapse: collapse; width: 100%; } td, th { text-align: left; padding: 8px; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <table> <tr> <th>Company</th> <th>Contact</th> <th>Country</th> </tr> <tr> <td>Alfreds Futterkiste</td> <td>Maria Anders</td> <td>Germany</td> </tr> <tr id="target"> <td>Centro comercial Moctezuma</td> <td>Francisco Chang</td> <td>Mexico</td> </tr> <tr> <td>Ernst Handel</td> <td>Roland Mendel</td> <td>Austria</td> </tr> <tr> <td>Island Trading</td> <td>Helen Bennett</td> <td>UK</td> </tr> <tr> <td>Laughing Bacchus Winecellars</td> <td>Yoshi Tannamuri</td> <td>Canada</td> </tr> <tr> <td>Magazzini Alimentari Riuniti</td> <td>Giovanni Rovelli</td> <td>Italy</td> </tr> </table>
$("#" + rowId).find("td").css("border-top", "1px solid #7f7f7f");
$('#' + rowId)
獲取tr
元素。.find("td")
獲取嵌套在tr
元素中的所有td
元素。.css("border-top", "1px solid #7f7f7f")
將相關的 styles 應用於您的td
元素。你錯過了' td'
$('#' + rowId)
將是$('#' + rowId+ ' td')
$('#' + rowId+ ' td').each(function() {
$('td').css('border-top', '1px solid #7f7f7f');
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.