无法通过点击事件选择一个表内的所有TD。

我试图使用下面的代码来选择高亮表中的所有tds(用于复制),但我得到了这个错误信息

Failed to execute 'selectNode' on 'Range': parameter 1 is not of type 'Node'.

你能不能让我知道我在这里做错了什么?

function selectElementContents(el) {
    var body = document.body, range, sel;
    if (document.createRange && window.getSelection) {
        range = document.createRange();
        sel = window.getSelection();
        sel.removeAllRanges();
        try {
            range.selectNodeContents(el);
            sel.addRange(range);
        } catch (e) {
            range.selectNode(el);
            sel.addRange(range);
        }
    } else if (body.createTextRange) {
        range = body.createTextRange();
        range.moveToElementText(el);
        range.select();
    }
}

$("#select").on("click", function(){
  selectElementContents($("#table"));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="table" border=1>
    <thead>
        <tr><th>Heading</th><th>Heading</th></tr>
    </thead>
    <tbody>
        <tr><td>cell</td><td>cell</td></tr>
    </tbody>
</table>

<input type="button" value="select table" id="select" />

解决方案:

当前你在调用jQuery集合时传递了一个 selectElementContents:

selectElementContents($("#table"));

相反,你应该通过一个实际的 节点.

selectElementContents($("#table").get(0));

给TA打赏
共{{data.count}}人
人已打赏
未分类

如何将测试用例包括步骤从excel导出到Azure?

2022-9-8 22:22:37

未分类

使用Javascript过滤函数输出,只要它们是真的就可以了(Javascript算法)

2022-9-8 22:22:39

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索