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

HTML页面元素操作示例
本文提供了一个HTML页面示例,展示了如何使用JavaScript来控制页面上的复选框元素,包括全选、全不选及反选功能。通过简单的代码实现,帮助读者理解网页交互的基本原理。
<!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>
import os import sys from PySide6.QtWidgets import QApplication, QWidget, QMenu, QVBoxLayout from PySide6.QtWebEngineWidgets import QWebEngineView from PySide6.QtCore import Qt, QUrl, QPoint, QEvent from PySide6.QtGui import QCursor class CustomWebEngineView(QWebEngineView): """自定义 QWebEngineView,拦截右键菜单""" def __init__(self, parent=None): super().__init__(parent) self.parent_widget = parent def contextMenuEvent(self, event): # ⛔ 禁止默认的右键菜单弹出 event.accept() # ✅ 转发给父窗口处理自定义菜单 if hasattr(self.parent_widget, 'show_context_menu'): self.parent_widget.show_context_menu(event.globalPos()) else: print("No show_context_menu method found on parent.") class SpinePet(QWidget): def __init__(self): super().__init__() self.offset = QPoint() self.init_ui() def init_ui(self): self.setWindowFlags( Qt.WindowType.FramelessWindowHint | Qt.WindowType.WindowStaysOnTopHint | Qt.WindowType.Tool ) self.setAttribute(Qt.WidgetAttribute.WA_TranslucentBackground, True) self.setAttribute(Qt.WidgetAttribute.WA_ShowWithoutActivating, True) layout = QVBoxLayout() layout.setContentsMargins(0, 0, 0, 0) layout.setSpacing(0) # 使用自定义的 WebEngineView self.view = CustomWebEngineView(self) # 注意传 self 作为 parent page = self.view.page() page.setBackgroundColor(Qt.GlobalColor.transparent) # 启用必要设置 settings = page.settings() settings.setAttribute(settings.WebAttribute.JavascriptEnabled, True) settings.setAttribute(settings.WebAttribute.LocalContentCanAccessFileUrls, True) settings.setAttribute(settings.WebAttribute.LocalContentCanAccessRemoteUrls, True) # 加载本地文件 current_dir = os.path.dirname(os.path.abspath(__file__)) html_path = os.path.join(current_dir, "desktop-character.html") self.view.load(QUrl.fromLocalFile(html_path)) layout.addWidget(self.view) self.setLayout(layout) self.resize(400, 600) self.move(100, 100) def mousePressEvent(self, event): if event.button() == Qt.MouseButton.LeftButton: self.offset = event.position().toPoint() event.accept() def mouseMoveEvent(self, event): if event.buttons() & Qt.MouseButton.LeftButton: self.move(self.mapToParent(event.position().toPoint() - self.offset)) event.accept() def show_context_menu(self, pos): """由 CustomWebEngineView 调用,显示自定义菜单""" menu = QMenu(self) # 动画子菜单 anim_menu = menu.addMenu("动画") animations = { "待机": "idle", "开心 😊": "emoji_2", "生气 💢": "emoji_1", "脸红 🌸": "emoji_3", "星星眼 ✨": "emoji_0", "说话 🗣️": "emoji_5", "问号 ❓": "emoji_4" } for label, anim_name in animations.items(): action = anim_menu.addAction(label) action.triggered.connect(lambda checked=False, name=anim_name: self.play_animation(name, True)) # 背景模式子菜单 bg_menu = menu.addMenu("背景模式") white_action = bg_menu.addAction("白色背景") transparent_action = bg_menu.addAction("透明背景") white_action.triggered.connect(lambda: self.toggle_background("white")) transparent_action.triggered.connect(lambda: self.toggle_background("transparent")) # 在指定位置弹出菜单 menu.exec(pos) def play_animation(self, anim_name, loop=True): js_code = f"playAnimation('{anim_name}', {str(loop).lower()})" self.view.page().runJavaScript(js_code) def toggle_background(self, mode): js_code = f"toggleBackgroundMode('{mode}')" self.view.page().runJavaScript(js_code) if __name__ == "__main__": app = QApplication(sys.argv) # ✅ 使用正确的设置方式:通过 QWebEnginePage 或其 settings() # 不需要提前调用 globalSettings(),直接在页面中设置即可 # 如果你要设全局默认值,可以这样: from PySide6.QtWebEngineCore import QWebEngineProfile, QWebEngineSettings # 可选:设置全局允许 file:// 访问 profile = QWebEngineProfile.defaultProfile() settings = profile.settings() settings.setAttribute(QWebEngineSettings.WebAttribute.LocalContentCanAccessRemoteUrls, True) settings.setAttribute(QWebEngineSettings.WebAttribute.LocalContentCanAccessFileUrls, True) pet = SpinePet() pet.show() sys.exit(app.exec()) 对这个也修改,不要画蛇添足,只修改必要的
11-05
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值