Jquery 2个带实时功能的选择器

Jquery 2个带实时功能的选择器,jquery,Jquery,使用.live方法的jquery选择器中有两个id是什么意思 例如: $('#mybtn', '#mydiv').live('click', function... 谢谢, rodchar这是在使用上下文。将字符串作为上下文传递被认为是一种不好的做法,但它是有效的。这相当于: $('#mydiv').find('#mybtn').live('click', function... 这是在使用上下文。将字符串作为上下文传递被认为是一种不好的做法,但它是有效的。这相当于: $('#mydiv')

使用.live方法的jquery选择器中有两个id是什么意思

例如:

$('#mybtn', '#mydiv').live('click', function...
谢谢,
rodchar

这是在使用上下文。将字符串作为上下文传递被认为是一种不好的做法,但它是有效的。这相当于:

$('#mydiv').find('#mybtn').live('click', function...

这是在使用上下文。将字符串作为上下文传递被认为是一种不好的做法,但它是有效的。这相当于:

$('#mydiv').find('#mybtn').live('click', function...

这意味着在具有
id=“mydiv”


在按ID查找时,这样做似乎毫无意义。因为ID总是被认为是唯一的。

这意味着在具有
ID=“mydiv”
的元素中搜索具有
ID=“mybtn”
的元素

$('#mybtn', '#mydiv')
当你们在看ID的时候,做这样的事情似乎是毫无意义的。因为ID总是被认为是唯一的

$('#mybtn', '#mydiv')
将#mydiv作为上下文参数传递给jQuery$函数()

如果你是说

$('#mybtn,#mydiv')
这会将live事件处理程序绑定到两个匹配的元素(ID为mybtn和mydiv的元素)。逗号是用于匹配多个选择器的标准CSS语法。$函数将返回一个长度为2的jQuery对象(假设页面上同时存在一个mybtn和mydiv实例)。“实时”函数将实时事件绑定到两个元素

将#mydiv作为上下文参数传递给jQuery$函数()

如果你是说

$('#mybtn,#mydiv')

这会将live事件处理程序绑定到两个匹配的元素(ID为mybtn和mydiv的元素)。逗号是用于匹配多个选择器的标准CSS语法。$函数将返回一个长度为2的jQuery对象(假设页面上同时存在一个mybtn和mydiv实例)。“live”函数将live事件绑定到这两个元素。

请注意:这不是特定于$.live方法的。这只是jQuery的一部分。要添加到上面:click事件将绑定到#mybtn元素,该元素是#mydiv元素的从属元素。这包括上面的方法或普通选择器,如$(“#mydiv#mybtn”);这是文档第一页的核心jQuery函数中的第二个参数:)-::请参见[Context]@Kevin Peno-$(“#mydiv”)。就性能而言,find(“#mybtn”)并不完全等于$(“#mydiv#mybtn”)。它将返回相同的集合,但前者要快得多,这要感谢jQuery中的一个快捷方式,该快捷方式执行单id查找,甚至不需要点击选择器引擎核心。这显然是第二次返回正确的结果,不过…请注意:这不是特定于$.live方法的。这只是jQuery的一部分。要添加到上面:click事件将绑定到#mybtn元素,该元素是#mydiv元素的从属元素。这包括上面的方法或普通选择器,如$(“#mydiv#mybtn”);这是文档第一页的核心jQuery函数中的第二个参数:)-::请参见[Context]@Kevin Peno-$(“#mydiv”)。就性能而言,find(“#mybtn”)并不完全等于$(“#mydiv#mybtn”)。它将返回相同的集合,但前者要快得多,这要感谢jQuery中的一个快捷方式,该快捷方式执行单id查找,甚至不需要点击选择器引擎核心。这显然是第二个返回正确结果的例子,虽然…by id是一个糟糕的例子,但在其他情况下(例如$(“.clickbtn”、“#mydiv”)是有意义的;这并不一定毫无意义。在将元素从一个容器拖到另一个容器的情况下,如果您只希望元素在某个容器中具有操作,那么您可以使用类似这样的结构来指示其父元素必须是特定的容器。我理解这一点,但您永远不会有另一个具有相同的ID。
class
属性似乎更合适。它实际上并不是让另一个元素具有相同的ID。它只是简单地将一个处理程序附加到一个元素,而该元素正好位于另一个特定元素的内部。例如,如果我想在将元素拖进垃圾桶后对其进行不透明处理:$(“#trashcan#elem”).css('opacity','0.6');按id是一个坏例子,但在其他情况下(如$(“.clickbtn”,“#mydiv”)也有意义;这并不一定毫无意义。在将元素从一个容器拖到另一个容器的情况下,如果您只希望元素在某个容器中具有操作,那么您可以使用类似这样的结构来指示其父元素必须是特定的容器。我理解这一点,但您永远不会有另一个具有相同的ID。
class
属性似乎更合适。它实际上并不是让另一个元素具有相同的ID。它只是简单地将一个处理程序附加到一个元素,而该元素正好位于另一个特定元素的内部。例如,如果我想在将元素拖进垃圾桶后对其进行不透明处理:$(“#垃圾桶#elem”).css('opacity','0.6');