由同一元素的后缀触发 class
Trigger by suffix from same element class
我想让每个带有后缀 class -dummy
的按钮(我们称它为 "dummy")来触发另一个具有相同 class 但没有该后缀的按钮(称之为 "real button").
<button class="btn-submit hidden">
由 <button class="btn-submit-dummy">
触发
<button class="btn-edit hidden">
由 <button class="btn-edit-dummy">
触发
<button class="btn-delete">
什么都没有触发,因为没有带有 class btn-delete-dummy
的元素
每个真实按钮都需要通过点击虚拟按钮来触发。
到目前为止我的脚本:
/** If I define manually on each button **/
$(".btn-submit-dummy").click(function() {
$(".btn-submit").trigger("click");
});
$(".btn-edit-dummy").click(function() {
$(".btn-edit").trigger("click");
});
...
...
...
/** end of defining button **/
我的想法如果用 jQuery 和人类语言(很抱歉这种丑陋的方式)写成如下:
$("button[class$='-dummy']").click(function() {
var realButton = button_which_have_same_class_as_clicked_object_but_trimmed_with_"-dummy";
if(find realButton) {
$(realButton).trigger("click");
}
});
请帮忙。非常感谢。
试试这个:
$("[class$='-dummy']").on('click', function () {
var btnClass = $(this).attr('class').match(/([\w-]+-dummy)+/)[0].replace('-dummy', '');
alert(btnClass);
$("." + btnClass).trigger("click");
});
演示:https://jsfiddle.net/tusharj/gc3d5yy5/
希望对您有所帮助
您可以通过
调用点击事件
$("[class$=-dummy]").on('click',function(e){
var a = ($(this).attr('class');
var fire = a.replace('-dummy"','');
$('.'+fire).trigger('click');
});
我想让每个带有后缀 class -dummy
的按钮(我们称它为 "dummy")来触发另一个具有相同 class 但没有该后缀的按钮(称之为 "real button").
<button class="btn-submit hidden">
由 <button class="btn-submit-dummy">
<button class="btn-edit hidden">
由 <button class="btn-edit-dummy">
<button class="btn-delete">
什么都没有触发,因为没有带有 class btn-delete-dummy
每个真实按钮都需要通过点击虚拟按钮来触发。
到目前为止我的脚本:
/** If I define manually on each button **/
$(".btn-submit-dummy").click(function() {
$(".btn-submit").trigger("click");
});
$(".btn-edit-dummy").click(function() {
$(".btn-edit").trigger("click");
});
...
...
...
/** end of defining button **/
我的想法如果用 jQuery 和人类语言(很抱歉这种丑陋的方式)写成如下:
$("button[class$='-dummy']").click(function() {
var realButton = button_which_have_same_class_as_clicked_object_but_trimmed_with_"-dummy";
if(find realButton) {
$(realButton).trigger("click");
}
});
请帮忙。非常感谢。
试试这个:
$("[class$='-dummy']").on('click', function () {
var btnClass = $(this).attr('class').match(/([\w-]+-dummy)+/)[0].replace('-dummy', '');
alert(btnClass);
$("." + btnClass).trigger("click");
});
演示:https://jsfiddle.net/tusharj/gc3d5yy5/
希望对您有所帮助
您可以通过
调用点击事件$("[class$=-dummy]").on('click',function(e){
var a = ($(this).attr('class');
var fire = a.replace('-dummy"','');
$('.'+fire).trigger('click');
});