标签: jquery-selectors

JQuery .on()方法,具有一个选择器的多个事件处理程序

试图弄清楚如何将Jquery .on()方法与具有多个与之关联的事件的特定选择器一起使用.我之前使用过.live()方法,但不太确定如何用.on()完​​成同样的壮举.请参阅下面的代码:

$("table.planning_grid td").live({
  mouseenter:function(){
     $(this).parent("tr").find("a.delete").show();
  },
  mouseleave:function(){
     $(this).parent("tr").find("a.delete").hide();        
  },
  click:function(){
    //do something else.
  }
});
Run Code Online (Sandbox Code Playgroud)

我知道我可以通过调用以下方式分配多个事件:

 $("table.planning_grid td").on({
    mouseenter:function(){  //see above
    },
    mouseleave:function(){ //see above
    }
    click:function(){ //etc
    }
  });
Run Code Online (Sandbox Code Playgroud)

但我相信正确使用.on()会是这样的:

   $("table.planning_grid").on('mouseenter','td',function(){});
Run Code Online (Sandbox Code Playgroud)

有没有办法实现这个目标?或者这里的最佳做法是什么?我尝试了下面的代码,但没有骰子.

$("table.planning_grid").on('td',{
   mouseenter: function(){ /* event1 */ }, 
   mouseleave: function(){ /* event2 */ },
   click: function(){  /* event3 */ }
 });
Run Code Online (Sandbox Code Playgroud)

提前致谢!

javascript jquery jquery-selectors jquery-1.7

128
推荐指数
5
解决办法
14万
查看次数

ID选择器中的jQuery点?

可能重复:
当id包含点时,如何通过ID和jquery选择html节点?

我有一个网站,其中包含与此类似的元素:

<p id="root.SomeCoolThing">Some Cool Thing</p>
Run Code Online (Sandbox Code Playgroud)

我不能用jQuery选择段落,$('#root.SomeCoolThing')因为jQuery认为,SomeCoolThing是一个元素的类id="root".

如何用jQuery选择这个元素?我想避免像这样的结构:

$(document.getElementById('root.SomeCoolThing'))
Run Code Online (Sandbox Code Playgroud)

jquery jquery-selectors

125
推荐指数
4
解决办法
7万
查看次数

JQuery找到具有特定类前缀的第一个父元素

我想获得具有特定类前缀的第一个父类,假设:

<div class="div-a3332"> 
  <div class="div-a89892">
    <p>
      <div class="div-b2">
        <div id="divid">hi</div>
      </div>
    </p>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

例如,我当前的元素是#divid,我想找到具有类前缀div-a的第一个元素.所以基本上它会选择:

<div class="div-a89892">
Run Code Online (Sandbox Code Playgroud)

jquery jquery-selectors

118
推荐指数
2
解决办法
14万
查看次数

使用JQuery检查值是否在选择列表中

我怎样才能使用JQuery检查一个值是否属于下拉列表?

jquery-selectors drop-down-menu

108
推荐指数
5
解决办法
15万
查看次数

如何从jQuery对象中获取选择器

$("*").click(function(){
    $(this); // how can I get selector from $(this) ?
});
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法来获得选择器$(this)?有一种方法可以通过选择器选择元素,但是从元素中获取选择器呢?

javascript jquery jquery-selectors tree-traversal

106
推荐指数
5
解决办法
9万
查看次数

在jQuery中选择后代元素的最快方法是什么?

据我所知,有很多方法可以在jQuery中选择子元素.

//Store parent in a variable  
var $parent = $("#parent");
Run Code Online (Sandbox Code Playgroud)

方法1 (使用范围)

$(".child", $parent).show();
Run Code Online (Sandbox Code Playgroud)

方法2 (find()方法)

$parent.find(".child").show();
Run Code Online (Sandbox Code Playgroud)

方法3 (仅限直系儿童)

$parent.children(".child").show();
Run Code Online (Sandbox Code Playgroud)

方法4 (通过CSS选择器) - 由@spinon建议

$("#parent > .child").show();
Run Code Online (Sandbox Code Playgroud)

方法5 (与方法2相同) - 根据@Kai

$("#parent .child").show();
Run Code Online (Sandbox Code Playgroud)

我不熟悉分析能够自己调查这个,所以我很想知道你要说些什么.

PS我明白这可能是这个问题的重复,但并不涵盖所有方法.

performance jquery profiling jquery-selectors

101
推荐指数
3
解决办法
2万
查看次数

PHPStorm IDE中的低效jQuery使用警告

我最近升级了我的PHPStorm IDE版本,它现在警告我jQuery使用效率低下.

例如:

var property_single_location = $("#property [data-role='content'] .container");
Run Code Online (Sandbox Code Playgroud)

提示此警告:

检查jQuery选择器是否以有效的方式使用.它建议拆分以ID选择器为前缀的后代选择器,并警告可以缓存的重复选择器.

所以我的问题是:

为什么效率低,做上述选择器的有效方法是什么?

我猜是:

var property_single_location = $("#property").find("[data-role='content']").find(".container");
Run Code Online (Sandbox Code Playgroud)

这是正确的方法吗?

performance jquery jquery-selectors

100
推荐指数
3
解决办法
2万
查看次数

jQuery:eq()vs get()

我是jQuery的新手,我想知道jQuery get()eq()函数之间的区别.我可能会误解get()函数的作用,但我觉得奇怪的是我无法在同一行中返回的元素上返回一个函数.

//Doesn't work
I.e.  $("h2").get(0).fadeIn("slow");

//Works
$("h2").eq(0).fadeIn("slow");
Run Code Online (Sandbox Code Playgroud)

jquery jquery-selectors

96
推荐指数
5
解决办法
5万
查看次数

通过以下方式隐藏除$(this)之外的所有内容:不在jQuery选择器中

高级标题,简单问题:

如何在jQuery中执行以下操作(隐藏除了之外的所有内容$(this))?

$("table tr").click(function() {
    $("table tr:not(" + $(this) + ")").hide();
    // $(this) is only to illustrate my problem

    $("table tr").show();
});
Run Code Online (Sandbox Code Playgroud)

jquery this jquery-selectors

94
推荐指数
3
解决办法
8万
查看次数

Jquery绑定双击并单击一次

在jquery中有什么东西可以让我区分双击和单击的行为吗?

当我将两个绑定到同一个元素时,只执行单击.

是否有一种方法可以在执行单击之前等待一段时间以查看用户是否再次点击?

谢谢 :)

jquery jquery-selectors

93
推荐指数
5
解决办法
9万
查看次数