javascript - 选择器中的字符串始终为空,尽管不为空 -> 无法识别的表达式/空不是对象
问题描述
我在这里撞墙。我在 javascript 中得到了一个字符串,我只想选择具有相应 id 的 DOM 元素。(在这个例子中,我需要模拟一次点击。但是 hide() 也不起作用......)
options.forEach(function(option) {
if(option){ //not really necessary
console.log('#'+option);
$('#'+option).click();
}
});
它给了我以下输出: 控制台输出
当然,我也试过javascript方法:
options.forEach(function(option) {
if(option){ //not really necessary
console.log('#'+option);
document.getElementById('#'+option).click();
}
});
控制台结果是: 控制台输出
这里有什么问题?我似乎无法选择该元素(肯定存在。有人可以帮忙吗?
提前问候和感谢麦克风
解决方案
我会说问题出在你的数组上。如果没有看到你的数组,我猜你的数组中的一个字符不起作用,因为它是“意外的”。
这是一个工作示例,只是为了向您展示它正在工作
var options = ['29120'];
$('#test').on('click', function() {
$.each(options, function(i, obj) {
$('#' + obj).click();
});
});
$('#29120').click(function() {
$('div').hide();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="abc">abc</div>
<div id="cde">cde</div>
<div id="">29120</div>
<button id="29120">hide</button>
<button id="test">Test</button>
推荐阅读
- flutter - 你可以在颤振中对同一个列表使用 onDismissed() 和 onTap() 吗?
- cucumber - CucumberJs 使用 Typescript + LitElement + open-wc 进行测试
- python - 投资组合中的自协方差股票收益(Python)(流动性度量)
- python - 集合理解与嵌套循环
- omnet++ - OMNeT,Inet e iCanCloud 错误模拟
- sql - 如何将多行(一列)组合成一行
- python - 为什么在计算大型数组时系统只是挂起并且不会引发内存错误?
- javascript - 工厂函数和模块模式有什么区别?(更多下文)
- reactjs - 从配置文件反应加载变量
- java - 如何将第一个方法调用与带有 java 的 vscode 的流利格式化程序保持在同一行?