如何用jQuery选择多个表格单元格标签?

时间:2015-10-27 17:29:48

标签: javascript jquery html jquery-selectors

更新:当我在 about:blank 页面上创建此表并在Chrome中使用控制台时出现此问题。在JSFiddle中尝试它可以按预期工作。

UPDATE2 :忽略这一点。正如@Mike C评论的那样,我没有加载jQuery,Chrome开发工具有一个内置函数叫做' $'。换句话说,它没有用,因为Chrome开发工具并不知道我在编写jQuery。我的错。 谢谢大家的帮助。

这很简单。我有这样的事情:

<table cellpadding="5" cellspacing="0" width="100%">
    <tbody>
        <tr>
            <td >1</td>
            <td >2</td>                 
        </tr>
        <tr>
            <td>3</td>
            <td>4</td> 
        </tr>           
    </tbody>
</table>

当我尝试使用<td>获取所有$("td")时,我只获得第一个元素,而使用document.getElementsByTag("td")我得到所有元素。

在jQuery文档中,它说$("tagName")足以获取标记元素,但是当我尝试它时,只返回第一个元素。

为什么会这样?是否有jQuery 选择器getElementsByTag具有相同的行为?

提前致谢。

2 个答案:

答案 0 :(得分:2)

实际上,这取决于你在做什么,但仍然是一个简单的演示。

我的方法:

1)在您的HTML中将.tableTd课程归入<table>

2)在该类中选择所有td's

  

不使用$("table td")的原因是我们不希望在同一页面上有不同的表格。

$(".tableTd td").css("color","red");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<table cellpadding="5" cellspacing="0" width="100%" border="1" class="tableTd">
    <tbody>
        <tr>
            <td >1</td>
            <td >2</td>                 
        </tr>
        <tr>
            <td>3</td>
            <td>4</td> 
        </tr>           
    </tbody>
</table>

答案 1 :(得分:1)

你正确地理解了这个概念。但是你需要遍历each函数来获取所有相应的元素。

$("td").each(function()
{
    alert($(this).text());
});

以下是一个例子:http://jsfiddle.net/fgoed4rv/1/