Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无需使用循环即可从表中获取所有表行的简单方法_Javascript_Jquery - Fatal编程技术网

Javascript 无需使用循环即可从表中获取所有表行的简单方法

Javascript 无需使用循环即可从表中获取所有表行的简单方法,javascript,jquery,Javascript,Jquery,有没有一种简单的方法可以从一个表中获取所有表行而不使用循环 我原以为这会奏效,但它只会提醒第一行 $(文档).ready(函数(){ var O=$('mainTable')。find('tr'); //变量O=$('mainTable tr'); 警报(O.html()); //警报月储蓄 }); 每月储蓄 月 储蓄 一月 $100 二月 $50 前进 $50 A. $50 M $50 J $50 七月 $50 八月 $50 九月 $50 您可以使用 gt(), lt(),eq() .gt

有没有一种简单的方法可以从一个表中获取所有表行而不使用循环

我原以为这会奏效,但它只会提醒第一行

$(文档).ready(函数(){
var O=$('mainTable')。find('tr');
//变量O=$('mainTable tr');
警报(O.html());
//警报月储蓄
});
每月储蓄
月
储蓄
一月
$100
二月
$50
前进
$50
A.
$50
M
$50
J
$50
七月
$50
八月
$50
九月
$50
您可以使用

gt(), lt(),eq()
.gt(index)
//将获取大于指定索引的所有行

.lt(index)
//将获取小于指定索引的所有行

.eq(index)
//将获得与指定索引相等的所有行

比如说

$('mainTable tr')。等式(1)
将给出第二行


但是,当您想知道所有表行数据时,请使用Konstantin D-Infrastics解决方案

您的代码中的内容已将所有表行检索为
数组
jQuery
元素:

var trs = $('#mainTable').find('tr');
如果要打印每行的html内容,则必须使用循环:

trs.each(function (index, element) {
    alert($(this).html());
});

无论您使用什么,都将遍历每一行,以从中获取内部HTML。所以不,你不能没有一个循环

这里有一个替代方法,它可以在一行中获取消息,如果这是您想要的,那么它的效率要比使用循环稍微低一些,因为它需要创建一个新的数组

我建议只做一个常规的循环


仅供参考
.html()
只会提醒第一行,因为这才是最有用的

描述:获取匹配元素集中第一个元素的HTML内容

那么:

// get all tr (excluding the caption)
var O = $('table#mainTable').children().slice(1); 

当你说“获取所有表格行”是什么意思?您希望如何使用这些行?在您的示例中,您只显示html?与css中的概念相同,如果您转到#mainTable tr{background:red;},那么它将选择该表中的所有行并应用该样式,但是为什么$('#mainTable tr').html()只通知第一行?谢谢你的帮助
$(document).ready(function () {
    var rows = $('#mainTable tr');
    var message = $.map(rows, function (v) { 
        return v.innerHTML;
    }).join('\n');
    alert(message);
});
// get all tr (excluding the caption)
var O = $('table#mainTable').children().slice(1);