我的标记如下:
<li><span>..</span>
<input type="button" id="clickme" Value="click ME" />
</li>
我的问题是如何使用jquery
自动触发li(按钮)的输入子项的click事件我不想通过其ID访问该按钮我想通过.children()方法访问它。我试图这样做,但它不起作用:
<li id="liID"><span>...</span><input type="button" id="clickme" value="click ME" />
$("#liID").children("input").trigger('click');
但这不起作用:/
答案 0 :(得分:0)
你可以使用
$('#clickme').trigger('click');
答案 1 :(得分:0)
您可以使用trigger()
方法:
执行附加到给定事件类型的匹配元素的所有处理程序和行为。
$('li input').trigger('click');
或:
$('#clickme').click()
关闭li
代码并尝试使用find()
方法:
<li id="liID"><span>...</span><input type="button" id="clickme" value="click ME" /></li>
$("#liID").find("input").trigger('click');
答案 2 :(得分:0)
你可以说:
$('#clickme').click();
以下是:
的快捷方式$('#clickme').trigger('click');
有关更多信息,请参阅.click()
和.trigger()
的jQuery API doco。
编辑:您似乎在说您想通过父li元素的id选择输入。如果是这样,如果您不想依赖输入作为直接孩子,请执行以下操作:
$("#liID").find("input").click();
// OR
$("#liID input").click();
或者,如果您只想选择直接子项的输入,则代码应该起作用:
$("#liID").children("input").trigger('click');
答案 3 :(得分:0)
您实际上是在尝试以编程方式单击该按钮,还是只是触发一些附加到其Click事件的Javascript?两者不同:
要触发附加到click事件的某些JS,您可以简单地执行类似
的操作$('input', '#liID').click();
$('#liID').children('input').trigger('click');
etc
但是,据我所知,用JS实际伪造点击事件是不可能的。你可以触发附加到事件处理程序的JS,但如果你正在寻找默认功能,我认为没有任何可靠的方法可以做到这一点,所以你最好创建一个JS函数并将其附加到点击输入事件。然后你可以以编程方式触发。