gpt4 book ai didi

javascript - 无法读取未定义的属性 'replace'(在克隆的 html 表上)

转载 作者:可可西里 更新时间:2023-11-01 12:59:29 25 4
gpt4 key购买 nike

我正在尝试将 HTML 表格导出到 Excel 文件。不应导出任何隐藏的列。

以下作品:

var table_div = document.getElementById('MyTable');
$(table_div).find('[style*="display: none"]').remove();

var table_html = table_div.outerHTML.replace(/ /g, '%20');

但是当我导出时,所有隐藏的列都会从我的表中删除。

我尝试在删除隐藏列之前克隆表格:

var table_div = document.getElementById('MyTable');
var cloned_table_div = $(table_div).clone().find('[style*="display: none"]').remove();

var table_html = cloned_table_div.outerHTML.replace(/ /g, '%20');

但这会在 chrome 中出现错误“无法读取未定义的属性‘替换’”。我尝试检查一下 cloned_table_div.outerHTML 是否未定义,它似乎是。我做错了什么?

最佳答案

  1. 函数 .find(...).remove() 不返回克隆表。他们返回 jQuery object ,不是 Element .
  2. 获得Element来自jQuery object , 你应该 jQuery .get() .

var table_div = document.getElementById('MyTable');
var cloned_table_div = $(table_div).clone();
cloned_table_div.find('[style*="display: none"]').remove();

var table_html = cloned_table_div.get(0).outerHTML.replace(/ /g, '%20');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="MyTable">
<span style="display: none"></span>
</div>

关于javascript - 无法读取未定义的属性 'replace'(在克隆的 html 表上),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42421648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com