javascript-Jquery .each():查找包含输入的元素

前端之家收集整理的这篇文章主要介绍了javascript-Jquery .each():查找包含输入的元素 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一张桌子,里面有一个thead部分和一个tbody部分.我每个人都使用jQuery查找并计算表中的所有TH.这很好.但是同时我想检查tbody中TH的TD是否包含任何输入元素.

这是我到目前为止的内容

jQuery('#' + _target).each(function () {

        var $table = jQuery(this);
        var i = 0;
        jQuery('th',$table).each(function (column) {
            if (jQuery(this).find("input")) {
                dataTypes[i] = { "sSortDataType": "input" }
            }
            else {
                dataTypes[i] = { "sSortDataType": "html" }
            }

            i++;
        });
    });

希望这些信息对您有所帮助?

最佳答案
dataTypes = $('#' + _target + ' th').map(function(i,th) {
  var $table = $(th).closest('table');
  var pos = $table.index(th) + 1;
  return { "sSortDataType": $table.find('td:nth-child('+pos+')').is(':has(input)') ? 'input' : 'html' };
});

编辑:如果您正在单个表上运行它(在这种情况下,原始示例中的每个调用都没有多大意义),它将变得更加简单:

dataTypes = $('#' + _target + ' th').map(function(pos,th) {
  return { "sSortDataType": $(th).closest('table').find('td:nth-child('+(pos+1)+')').is(':has(input)') ? 'input' : 'html' };
});
原文链接:https://www.f2er.com/jquery/531038.html

猜你在找的jQuery相关文章