Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.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 如何获取jquery变量childeren?_Javascript_Jquery - Fatal编程技术网

Javascript 如何获取jquery变量childeren?

Javascript 如何获取jquery变量childeren?,javascript,jquery,Javascript,Jquery,嗨,我有一个方法,它接受一个id作为我函数的参数: function exportDetails($div) { $($div).each(function () { alert(this.id); }); 我需要获取此div中的所有表的id,类似于以下内容: function exportDetails($div) { $($div > table).each(function () { alert(this.id); }); 下面是我

嗨,我有一个方法,它接受一个
id
作为我函数的参数:

function exportDetails($div) {
    $($div).each(function () {
        alert(this.id);
});
我需要获取此
div
中的所有表的
id
类似于以下内容:

function exportDetails($div) {
    $($div > table).each(function () {
        alert(this.id);
});
下面是我调用函数的方式,每个itemDetails都有动态生成的表,我需要获取它们的id,因为它们都是唯一的:

exportDetails.apply(this, [$('#itemDetails')]);

谢谢

您的代码格式不正确。另外,我不知道您是否正在向这个函数提供$div参数中的一组表。这里有一些选择

// this works if you pass in an element with nested table that have ids. 

function exportTableToCSV($div) {
    $($div+ ' > table').each(function () {
        alert( $(this).attr('id') );
    });
}

// this works if you want to get all the HTML elements with an id or if you want to get all the ids of elements which also have the same class assigned to them.

function exportTableToCSV($div) {
    $($div).each(function () {
        alert( $(this).attr('id') );
    });
}

exportTableToCSV('div');

// or

exportTableToCSV('.yourClass');

您的代码格式不正确。另外,我不知道您是否正在向这个函数提供$div参数中的一组表。这里有一些选择

// this works if you pass in an element with nested table that have ids. 

function exportTableToCSV($div) {
    $($div+ ' > table').each(function () {
        alert( $(this).attr('id') );
    });
}

// this works if you want to get all the HTML elements with an id or if you want to get all the ids of elements which also have the same class assigned to them.

function exportTableToCSV($div) {
    $($div).each(function () {
        alert( $(this).attr('id') );
    });
}

exportTableToCSV('div');

// or

exportTableToCSV('.yourClass');

像这样的方法应该会奏效:

function exportDetails($div) {
    return [].map.call($div.children('table'), function(table) {
        return table.id;
    });
}

i、 e.只需返回一个数组,该数组包含作为
$div

的直接后代找到的每个
元素的
.id
,类似的操作应该可以:

function exportDetails($div) {
    return [].map.call($div.children('table'), function(table) {
        return table.id;
    });
}


i、 e.只需返回一个数组,该数组包含作为
$div

的直接后代找到的每个
元素的
.id
,那么您的问题是什么?这是您真正的代码吗?如果是这样的话,它就充满了拼写错误,并且会在开发人员控制台中抛出错误。此外,您可以/应该为我们建立一个合作伙伴关系。@NickZuber请阅读again@cale_b没有抛出任何错误(第二部分甚至没有编译,所以它不在我的代码中。为了以防万一,我不得不删除其中的一些内容。@masta_coda为什么你建议的方法在你的情况下不起作用?那么你的问题是什么?这是你真正的代码吗?如果是的话,它充满了拼写错误,并且会在开发人员控制台中抛出错误。此外,你可以/应该为我们设置一个带@NickZuber的rk,请阅读again@cale_b没有抛出任何错误(第二部分甚至没有编译,所以它不在我的代码中。我不得不删除其中一些,以防万一。@masta\u coda为什么您建议的方法在您的情况下不起作用?请不要使用
$(this.attr('id'))
-这是一个庞大的jQuery代码。第一件事不起作用。它无法编译。我只需要获取在页面加载时动态创建的表ID。创建一个选择器来获取表,然后将其传递到函数中。使用第二种方法。还有,表是如何动态创建的。您可以只获取动态创建时使用id并将该值推送到数组中。但我必须知道这些表是如何创建的。请不要使用
$(this.attr('id'))
-这是一个庞大的jQuery代码。第一件事不起作用。它无法编译。我只需要获取在页面加载时动态创建的表ID。创建一个选择器来获取表,然后将其传递到函数中。使用第二种方法。还有,表是如何动态创建的。您可以只获取动态创建时使用id并将该值推送到数组中。但我必须知道这些表是如何创建的。使用
table[id]
作为选择器。删除所有空字符串值,比后期处理结果更便宜。@Thomas啊,您的意思是作为选择器“仅返回具有
id
属性的表”?合理的注释,但如果OP的标记保证每个表都有一个ID,则不必这样做。使用
table[ID]
作为选择器。删除所有空字符串值,并且比后期处理结果便宜。@Thomas啊,您的意思是作为选择器“仅返回具有
ID
属性的表”?公正的评论,但如果OP的标记保证每个表都有一个ID,则无需评论。