使用jQuery从表中查找第一个和第二个td

时间:2012-09-10 16:26:51

标签: jquery html-table

我试图只操纵那两个TD。有很多嵌套表在非常旧的代码上,无法更改。

表没有课。但我能看到的主要结构是这样的。

<table>
  <tr>
    <td class="nowrap" "bunch of inline stuff"></td>
    <td "bunch of inline stuff">
  </tr>
</table>

这是我能看到的。其余的内部,我真的不关心,但它的所有嵌套表。

我希望能够仅为那两个td更改所有“内联内容”,但我似乎尝试的所有东西都通过嵌套的东西运行。

任何帮助将不胜感激。如果你能告诉我我做错了什么,那也很棒。

这是我已经尝试过的所有内容

//$('#main_content_wrapper table:first tbody tr td:nth-child(1)').attr('width','240').attr('id','ezweb_lhr').css('background','lime');
//$("#main_content_wrapper table:first td:nth-child(1)").attr('width','240').attr('id','ezweb_lhr').css('background','lime');
//$("#main_content_wrapper table:first tr:nth-child(1) td:nth-child(1)").attr('width','240').attr('id','ezweb_lhr').css('background','lime');
//$("#main_content_wrapper table tr:nth-child(1) td:nth-child(2)").attr('width','680').attr('id','ezweb_content').css('padding-left','20px').css('background','red');

3 个答案:

答案 0 :(得分:1)

这将返回第一个表中的所有td's

$("main_content_wrapper table:first").find("tr:first").find('td'); 

完成选择:

$("#main_content_wrapper table:first").find("tr:first").find('td')
    .attr({
        'width': '240',
        'id' : 'ezweb_1hr'
    }).css('background','lime');

以下是一个工作示例:jsFiddle

答案 1 :(得分:0)

你可以试试这个

$("#main_content_wrapper table:first").find("td")

这将为您提供一个包含在第一个表内的所有元素的数组,该数组位于id为'main_content_wrapper'的元素内。使用索引可以找到它是第一个还是第二个。例如,要访问第n个td元素,请使用

var nth_elem = $("#main_content_wrapper table:first").find("td")[n-1]

记住':nth-​​child'选择器在IE7和IE8中不起作用

由于

答案 2 :(得分:0)

基本上使用的另一件在第二个TD中是独特的,即内联宽度。所以对于任何可能经历过此事的人来说,这就是我所使用的。

$("#main_content_wrapper table:first tbody tr:first td[width='647']")