这是相关代码
<div class="call-to-action call-to-action-g1">
<input type="submit" value="Siguiente paso" class="submit">
我无法修改此HTML代码。所以我只有这个。 该页面还有许多提交按钮,因此getelementbyqueryall将无法正常工作
答案 0 :(得分:3)
你可以这样做:
$("div.call-to-action.call-to-action-g1 > input[type='submit'].submit[value='Siguiente paso']").on('click',function (){...});
(这是我根据你的代码找到的具体内容)
答案 1 :(得分:2)
Jquery解决方案
$('input[value="Siguiente paso"]').trigger('click');
Javascript解决方案
document.querySelectorAll('input[value="Siguiente paso"]').click();
适用于较旧的浏览器
function getInputsByValue(value)
{
var allInputs = document.getElementsByTagName("input");
var results = [];
for(var x=0;x<allInputs.length;x++)
if(allInputs[x].value == value)
results.push(allInputs[x]);
return results;
}
答案 2 :(得分:1)
我知道的唯一方法是在不知道项目索引的情况下使用getElementsByClassName,然后循环遍历它们,比较值。如果你有两个具有相同值的按钮,那么确定你没有选择。
答案 3 :(得分:1)
为什么不使用容器元素来缩小搜索范围
$('.call-to-action-g1 input.submit')....
如果你在容器中有多个提交,那么使用属性选择器和value
,如@Royi所示
答案 4 :(得分:0)
您是否尝试过使用课程:
$('.submit').click();
或
$('.submit').trigger( "click" );
答案 5 :(得分:0)
$('input.submit').filter(function () {
return $.trim(this.value) == 'Siguiente paso';
}).click(function () {
alert('hi');
});
<小时/> 点击
$('input.submit').filter(function () {
return $.trim(this.value) == 'Siguiente paso';
}).click();
答案 6 :(得分:0)
请参阅此fiddle 您仍然可以使用类型!!
捕获事件$('input').on("click",function(){
// your code here
});
如果您想进一步优化它,那么您可以使用this.value
获取clicked元素的值
并在那里有你的代码
$('input').on("click",function(){
alert("Button clicked");
if(this.value=="Siguiente paso"){
alert("Siguiente paso clicked");
}
});
答案 7 :(得分:0)
jquery中有很多选择器,不仅仅是id或name。 像这样:
$('.submit').click();
您还可以看到有关jquery选择器的更多信息:http://api.jquery.com/category/selectors/
答案 8 :(得分:0)
试试这个纯JavaScript解决方案:
document.querySelector(".call-to-action .submit").onclick = function() {
alert('bla bla');
}