itemelem.setAttribute("checked","checked");

本文提供了一个HTML页面示例,展示了如何使用JavaScript来控制页面上的复选框元素,包括全选、全不选及反选功能。通过简单的代码实现,帮助读者理解网页交互的基本原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>check.html</title>

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>

<body>
您的爱好很广泛!!!
<br>
<input type="checkbox" name="checkItems" id="checkItems" value="全选/全不选"/>全选/全不选
<br>
<input type="checkbox" name="items" value="足球" />足球
<input type="checkbox" name="items" value="篮球"/>篮球
<input type="checkbox" name="items" value="游泳"/>游泳
<input type="checkbox" name="items" value="唱歌"/>唱歌
<br>
<input type="button" name="checkall" id="checkall" value="全选" />
<input type="button" name="checkall" id="checkallNo" value="全不选" />
<input type="button" name="checkall" id="check_revsern" value="反选" />
</body>
<script language="JavaScript">
//<input type="button" name="checkall" id="checkall" value="全选" />
document.getElementById("checkall").onclick=checkall;

//<input type="button" name="checkall" id="checkallNo" value="全不选" />
document.getElementById("checkallNo").onclick=checkallNo;
//<input type="button" name="checkall" id="check_revsern" value="反选" />
document.getElementById("check_revsern").onclick=function (){
/*
* <input type="checkbox" name="items" value="足球" />足球
<input type="checkbox" name="items" value="篮球"/>篮球
<input type="checkbox" name="items" value="游泳"/>游泳
<input type="checkbox" name="items" value="唱歌"/>唱歌
*/
var itemselems=document.getElementsByName("items");

for(var i=0;i<itemselems.length;i++){
var itemele=itemselems[i];
if(itemele.getAttribute("checked")){
//选中
itemele.setAttribute("checked",null);
}else{
itemele.checked="checked";
}
}

}


//<input type="checkbox" name="checkItems" id="checkItems" value="全选/全不选"/>全选/全不选

document.getElementById("checkItems").onclick=function (){
if(this.getAttribute("checked")){
//全选中
// alert("tfy");
checkall();
}else{
checkallNo;
}
}
function checkall(){
/*
* <input type="checkbox" name="items" value="足球" />足球
<input type="checkbox" name="items" value="篮球"/>篮球
<input type="checkbox" name="items" value="游泳"/>游泳
<input type="checkbox" name="items" value="唱歌"/>唱歌
*/

var itemelems=document.getElementsByName("items");

for(var j=0;j<itemelems.length;j++){

var itemelem=itemelems[j];
itemelem.setAttribute("checked","checked");
// alert("tfy");
}

}


/*
* <input type="checkbox" name="items" value="足球" />足球
<input type="checkbox" name="items" value="篮球"/>篮球
<input type="checkbox" name="items" value="游泳"/>游泳
<input type="checkbox" name="items" value="唱歌"/>唱歌
*/
function checkallNo(){
var itemelems=document.getElementsByName("items");
for(var j=0;j<itemelems.length;j++){
var itemelem=itemelems[j];
itemelem.setAttribute("checked",null);
}

}
</script>
</html>
帮我使用ts+vue做一个出库单打印的功能以及打印模版,打印模版能否隐藏不显示在页面上并且模版设计帮我规范化一下给我两种例子方法一种使用print.ts文件一种使用默认interface PrintFunction { extendOptions: Function; getStyle: Function; setDomHeight: Function; toPrint: Function; } const Print = function (dom, options?: object): PrintFunction { options = options || {}; // @ts-expect-error if (!(this instanceof Print)) return new Print(dom, options); this.conf = { styleStr: "", // Elements that need to dynamically get and set the height setDomHeightArr: [], // Callback before printing printBeforeFn: null, // Callback after printing printDoneCallBack: null }; for (const key in this.conf) { if (key && options.hasOwnProperty(key)) { this.conf[key] = options[key]; } } if (typeof dom === "string") { this.dom = document.querySelector(dom); } else { this.dom = this.isDOM(dom) ? dom : dom.$el; } if (this.conf.setDomHeightArr && this.conf.setDomHeightArr.length) { this.setDomHeight(this.conf.setDomHeightArr); } this.init(); }; Print.prototype = { /** * init */ init: function (): void { const content = this.getStyle() + this.getHtml(); this.writeIframe(content); }, /** * Configuration property extension * @param {Object} obj * @param {Object} obj2 */ extendOptions: function <T>(obj, obj2: T): T { for (const k in obj2) { obj[k] = obj2[k]; } return obj; }, /** Copy all styles of the original page */ getStyle: function (): string { let str = ""; const styles: NodeListOf<Element> = document.querySelectorAll("style,link"); for (let i = 0; i < styles.length; i++) { str += styles[i].outerHTML; } str += `<style>.no-print{display:none;}${this.conf.styleStr}</style>`; return str; }, // form assignment getHtml: function (): Element { const inputs = document.querySelectorAll("input"); const selects = document.querySelectorAll("select"); const textareas = document.querySelectorAll("textarea"); const canvass = document.querySelectorAll("canvas"); for (let k = 0; k < inputs.length; k++) { if (inputs[k].type == "checkbox" || inputs[k].type == "radio") { if (inputs[k].checked == true) { inputs[k].setAttribute("checked", "checked"); } else { inputs[k].removeAttribute("checked"); } } else if (inputs[k].type == "text") { inputs[k].setAttribute("value", inputs[k].value); } else { inputs[k].setAttribute("value", inputs[k].value); } } for (let k2 = 0; k2 < textareas.length; k2++) { if (textareas[k2].type == "textarea") { textareas[k2].innerHTML = textareas[k2].value; } } for (let k3 = 0; k3 < selects.length; k3++) { if (selects[k3].type == "select-one") { const child = selects[k3].children; for (const i in child) { if (child[i].tagName == "OPTION") { if ((child[i] as any).selected == true) { child[i].setAttribute("selected", "selected"); } else { child[i].removeAttribute("selected"); } } } } } for (let k4 = 0; k4 < canvass.length; k4++) { const imageURL = canvass[k4].toDataURL("image/png"); const img = document.createElement("img"); img.src = imageURL; img.setAttribute("style", "max-width: 100%;"); img.className = "isNeedRemove"; canvass[k4].parentNode.insertBefore(img, canvass[k4].nextElementSibling); } return this.dom.outerHTML; }, /** create iframe */ writeIframe: function (content) { let w: Document | Window; let doc: Document; const iframe: HTMLIFrameElement = document.createElement("iframe"); const f: HTMLIFrameElement = document.body.appendChild(iframe); iframe.id = "myIframe"; iframe.setAttribute( "style", "position:absolute;width:0;height:0;top:-10px;left:-10px;" ); w = f.contentWindow || f.contentDocument; doc = f.contentDocument || f.contentWindow.document; doc.open(); doc.write(content); doc.close(); const removes = document.querySelectorAll(".isNeedRemove"); for (let k = 0; k < removes.length; k++) { removes[k].parentNode.removeChild(removes[k]); } // eslint-disable-next-line @typescript-eslint/no-this-alias const _this = this; iframe.onload = function (): void { // Before popping, callback if (_this.conf.printBeforeFn) { _this.conf.printBeforeFn({ doc }); } _this.toPrint(w); setTimeout(function () { document.body.removeChild(iframe); // After popup, callback if (_this.conf.printDoneCallBack) { _this.conf.printDoneCallBack(); } }, 100); }; }, /** Print */ toPrint: function (frameWindow): void { try { setTimeout(function () { frameWindow.focus(); try { if (!frameWindow.document.execCommand("print", false, null)) { frameWindow.print(); } } catch (e) { frameWindow.print(); } frameWindow.close(); }, 10); } catch (err) { console.error(err); } }, isDOM: typeof HTMLElement === "object" ? function (obj) { return obj instanceof HTMLElement; } : function (obj) { return ( obj && typeof obj === "object" && obj.nodeType === 1 && typeof obj.nodeName === "string" ); }, /** * Set the height of the specified dom element by getting the existing height of the dom element and setting * @param {Array} arr */ setDomHeight(arr) { if (arr && arr.length) { arr.forEach(name => { const domArr = document.querySelectorAll(name); domArr.forEach(dom => { dom.style.height = dom.offsetHeight + "px"; }); }); } } }; export default Print; 这是print.ts
最新发布
07-23
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值