网页指定高亮区域打印问题:修改代码后打印函数失效,能否仅打印example div?
关于打印范围的解答
首先直接给你答案:如果你的打印函数是专门针对id="example"这个div来实现的,那等它恢复正常后,确实只会打印这个div里的所有内容——也就是你代码里的日期、时间段、那几个单选按钮和对应的标签这些元素。
常见的正确实现逻辑大概有两种,都能保证只打印目标区域:
- 第一种是创建一个临时的打印窗口或者iframe,把
#example元素的内部内容(innerHTML)复制进去,然后调用这个临时窗口的打印方法; - 第二种是利用CSS的
@media print规则,给页面上除了#example之外的所有元素加上display: none的样式,这样浏览器打印时就只会渲染这个div的内容。
另外提一句,你给出的代码片段里有几个语法小问题,这些可能也会影响打印函数的正常运行:
- 有多余的闭合
</p>标签(前面没有对应的<p>起始标签); - 单选按钮的标签没有正确闭合,比如
<input type="radio" name= "one" <label>这里少了个>,应该写成<input type="radio" name="one">或者<input type="radio" name="one" />; - 最后那个未写完的单选按钮也有同样的标签未闭合问题。
这些语法错误可能会让浏览器无法正确解析DOM结构,导致打印函数找不到目标元素或者无法正确获取内容,建议先把这些小问题修复了再调试打印功能。
内容的提问来源于stack exchange,提问作者Gordon Byrne
相关产品推荐
相关产品推荐

