jquery中"on"方法中的prev()

Nir*_*ana 3 syntax jquery selector

所以我有这个:

$(".change_cont").prev().click(function(e){
  alert("Hello World");
}
Run Code Online (Sandbox Code Playgroud)

我希望这能用于新创建的元素,如下所示:

$("body").on("click", $(".change_cont").prev(), function(){
  alert("Hello World");
}
Run Code Online (Sandbox Code Playgroud)

这不起作用.是否有正确的语法或这是不可能的?
谢谢.

Sol*_*son 5

你试过以下吗?

var myElementId = "#" + $(".change_cont").prev().attr("id");

$("body").on("click", myElementId, function(){
  alert("Hello World");
});
Run Code Online (Sandbox Code Playgroud)

这将要求该元素具有id.如果没有,你可以使用该类,我想,如果它有一个类分配给它.如果没有为该元素分配任何内容,那么只需为其分配一个id或一个类.

如果前一个元素上没有标识类或id,那么为什么不在创建元素时创建它?在这种情况下,您只需向它们添加一个类,而不是使用类名而不是id属性:

$(".change_cont").each(function(e){
    if (!$(this).prev().hasClass('myClass'))
        $(this).prev().addClass('myClass');
});

$("body").on("click", ".myClass", function(){
  alert("Hello World");
});
Run Code Online (Sandbox Code Playgroud)

  • 我认为OP意味着前面的元素将是动态的,并且没有特定的类或ID或除了它之前的兄弟`.change_cont以外的任何识别功能. (2认同)