如何使用子元素的ID选择父母的第一个孩子?

时间:2016-03-08 10:07:57

标签: javascript jquery html css

我尝试选择包含" Text1"的td元素。不给这个td元素一个ID。所以" Text1"最后应该有一个红色的背景颜色。我试过这样,但这不起作用。



$("#test").parent().closest("td").css("background-color", "red");

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
  <td>
    <p>
    Text1
    </p>
  </td>
  <td id="test">
    <p>
    Text2
    </p>
  </td>
</tr>
</table>
&#13;
&#13;
&#13;

https://jsfiddle.net/8wyuggxz/

5 个答案:

答案 0 :(得分:1)

使用:contains选择器

$('td:contains("Text1")').css("background-color", "red");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr>
    <td>
      <p>
        Text1
      </p>
    </td>
    <td id="test">
      <p>
        Text2
      </p>
    </td>
  </tr>
</table>

答案 1 :(得分:1)

您可以使用以下prev()方法。

$("#test").prev('td').css("background-color", "red");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
    <tr>
        <td>
            <p>
                Text1
            </p>
        </td>
        <td id="test">
            <p>
                Text2
            </p>
        </td>
    </tr>
</table>

答案 2 :(得分:1)

编辑:这是使用ID的JS解决方案:

See this working fiddle

$("#test").parent().find("td:first-child").css("background-color", "red");

答案 3 :(得分:1)

试试这样:

$("#test").parent().children("td:nth-child(1)").css("background-color", "red");

工作代码:http://codepen.io/anon/pen/wGMZYG

答案 4 :(得分:1)

  
      
  1. 如何使用子元素的ID选择父母的第一个孩子?

  2.   
  3. 我尝试选择包含&#34; Text1&#34;

  4. 的td元素   

两个查询的解决方案。

代码段:

$("#test").parent().children('td:first:contains("Text1")').css("background-color", "red");

FIDDLE DEMO