我有一个选择框,它触发onchange事件(不是通过我的代码,而是通过插件的代码)。该选择框将根据所选项目隐藏/显示下一个框。此插件隐藏或显示下一个框的方式是更改元素的样式。
例如:
如果我选择选项1。插件触发onchange事件,并从更改下一个盒子的样式
display:none
至
display:list-item
一旦项目样式发生变化,我需要选择该项目,并用自己的代码对其进行其他处理。问题是我的onchange在插件代码之前就触发了,所以它找不到任何可以选择的项目。
我的代码:
("#input").change(function(){
var mymatch = $("li[style='display: list-item;']");});
如果我再次选择选项1,这将起作用,因为插件函数已经执行过一次。
我尝试在函数中添加setTimeout,但没有成功。所以我想我的函数要么需要监听样式变化,要么在插件函数之后以某种方式执行。。。有什么想法吗?我是不是搞错了?
您可以尝试使用更简洁的选择器,而不是样式属性,如果您正在寻找可见的列表项,则可以使用
$('li:visible')