我在HTML5文档中有一个TABLE。
我有一个使用jQuery hide()
和show()
隐藏/显示某些行的视图选择器。
当用户选择表格时(以编程方式,使用“全选”按钮,请参阅下面的代码),然后复制/粘贴到例如Word或Outlook电子邮件中,行为与FF和IE不同。
style='display: none;'
的元素。这是期望和预期的行为我添加了selectAll
功能。只需要一个选择器并选择其中的所有文本。这是我从jQuery论坛复制/粘贴的东西。
jQuery.fn.selectText = function(){
var doc = document;
var element = this[0];
// console.log(this, element);
if (typeof element == 'undefined') {
return;
}
if (doc.body.createTextRange) {
var range = document.body.createTextRange();
range.moveToElementText(element);
range.select();
} else if (window.getSelection) {
var selection = window.getSelection();
var range = document.createRange();
range.selectNodeContents(element);
selection.removeAllRanges();
selection.addRange(range);
}
};
如何只选择可见元素?或者......还有其他html / js技巧吗?
顺便提一下我将向任何想要的人投票:
更改用户
强制用户更改浏览器
让我只渲染可见的单元格并更改服务器代码
答案 0 :(得分:1)
似乎没有一个适合每个人的回复。
您可以在jQuery中使用is.(':visible')
但不确定转换回javascript(不是很好)。
其他人建议克隆该表并仅复制隐藏在另一个表中的内容,但随后这会导致其他浏览器运行正常时出现问题。
你可以使用上面的方法,但这是一个讨厌的黑客。
答案here可能会让您感兴趣,但我不确定您要复制的内容以及是否值得付出努力。
<joke>
如果一切都失败了,这里有一些其他建议:
更改用户
强制用户更改浏览器
仅渲染可见单元格并更改服务器代码
</joke>
答案 1 :(得分:0)
讨厌的黑客,但你可以: