javascript - 如何在 jQuery 中使用 $.makeArray()

标签 javascript jquery dom arrays

任何人都可以向我解释如何做到这一点,jquery 的 api 确实缺乏这一点。以下代码有什么问题?

   var arr = $(value).filter(function() { return $(this).is("TD"); } ).html();
   alert(arr[1]);

我只想获取 td 的 innerHTML/text 并将其放入数组中

最佳答案

.map().get() 结合使用是一种方法:

var arr = $(value).map(function() { 
      var $th = $(this); 
      if($th.is("TD")) return $th.html(); 
}).get();

alert(arr);

我不确定 value 代表什么,但是如果您将选择器更改为仅匹配 td 元素,您可以使用 return $ 简化 return 语句(this).html();

.map() 迭代元素,并将返回值添加到 jQuery 对象。 .get() 仅从 jQuery 对象中检索数组。


听起来 value 是一个 tr。然后你可以这样做:

var arr = $(value).children('td').map(function() { 
      return  $(this).html(); 
}).get();

alert(arr);

要创建一个数组,每个项目都包含该行的 td 元素的 html 数组,您可以这样做:

var arr = [];

$('tr').each(function() { 
    arr.push($(this).children('td').map(function() {
        return $(this).html();
    }));
}).get();

console.log(arr);

这使用了标准的 .push() 因为我不认为在 .map() 中使用 .map() 会工作。我认为当你将内部数组传递给 jQuery 对象时,它只是将它添加到主数组(或其他东西)。

关于javascript - 如何在 jQuery 中使用 $.makeArray(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3215585/

相关文章:

javascript - ng-repeat 中 ul 的条件包装器

javascript - 插入失败 : Method in meteor 1. 3 并使用react

javascript - 获取/设置状态对象(vanilla js)

jquery - 为什么我的 window.width 方法不能正常工作?

javascript - 水平滚动 Bootstrap 选项卡

jQuery 计算使用 .each 函数进行的循环次数

javascript - 如何为每个组件实例的元素分配唯一 ID

javascript - d3Plus 和环绕文字

javascript - 在 Javascript 中拦截粘贴事件

c++ - 如何从 C++ 程序中检索 DOM 元素?