javascript - 无法以编程方式单击下拉菜单中的项目
问题描述
我正在尝试为 tampermonkey 创建一个简单的脚本,当通过键盘快捷键触发时,它将以编程方式在下拉菜单中单击/选择特定的字体大小。当我单击论坛面板中的特定按钮时,菜单会打开,它会列出所有可用的文件字体大小。
菜单如下所示: 下拉菜单
Chrome 的检查器给出了打开菜单的这种 html 格式: html 格式
这里有很多主题来解决这个问题,如何单击下拉项,我已经尝试了几乎所有的方法,包括 javascript 和 jquery,但没有任何效果。
我只设法以编程方式单击并打开使用以下代码打开下拉菜单的按钮:
document.getElementById('cke_12').click();
打开下拉列表后,我触发了应该选择/单击特定字体大小的代码。我试过这些代码:
document.getElementById('cke_70').click();
document.querySelector('cke_70').click();
document.getElementById('cke_panel_list').selectedIndex = "8"
document.getElementById("cke_panel_list").value = "8";
document.querySelector('cke_panel_list').value = '8'
$('cke_70')[0].click();
$('cke_70').click();
$("li#cke_70").trigger("click");
$("ul li:first").trigger("click");
$('cke_panel_list li:eq(8)').trigger("click");
$('cke_panel_list').find('li').eq(8).click();
$('cke_panel_list').val('8').trigger('change');
$('cke_panel_list').val('8').trigger('click');
$('cke_panel_list').prop('selectedIndex', 8);
我也尝试过使用 cke_70_option 作为 id。但是没有选择/单击任何项目,下拉菜单保持原样打开。
知道我做错了什么吗?
解决方案
$(".cke_panel_list").click(function(){
return $(this).val();
});
这是 jQuery 选择所有具有 cke_panel_list 类的元素。返回该值将为您提供该元素的值。
推荐阅读
- javascript - 静态金额不可变
- javascript - 如何在 NUXT js 中访问 firebase realtimedb
- javascript - 使用 useParams 从 url 获取值
- c# - 使用带有 .net5 的 c# 从网络摄像头捕获图像
- selenium - webdriver-manager update --ie 抛出错误
- web3js - 指定使用 web3 js 与智能合约交互时在钱包中检索的金额
- flutter - Dart,什么是“where”关键字
- javascript - 与 JavaScript 中的回调相比,使用独立函数的效率更高或更低?
- javascript - 限制 api 获取响应
- php - Plesk 网站 - PHP open_basedir 限制生效。文件不在允许的路径内