Jquery小札记

获取 select 选中的option值

1 /* 获取select的选中的option值,需要用:selected过滤器 */
2 setStatue option:selected //IE全兼容;

 

链式操作,obj 根据条件切换多个预设的 class

// it's a function when <select></select> on change;
  function onChange(){
    var value = $("#capColor").val();  // get current select.selected.value;  value ==  1 || 2 || 3

    // three toggleClass default is not execute, when <select/> onchange,get that value then into this.toggleClass execute boolean operation;
    $("#cap")
    .toggleClass("black-cap", value == 1)     .toggleClass("orange-cap", value == 2)     .toggleClass("blue-cap", value == 3);        }

$.each()

译自官方手册:jQuery.each()

对数组或对对象内容进行循环处理

jQuery.each( collection, callback(indexInArray, valueOfElement) )

collection 遍历的对象或数组

callback(indexInArray, valueOfElement) 在每一个对象上调用的函数

 

说明:

一个通用的遍历函数 , 可以用来遍历对象和数组. 数组和含有一个length属性的伪数组对象 (伪数组对象如function的arguments对象)以数字索引进行遍历,从0到length-1, 其它的对象通过的属性进行遍历.

$.each()与$(selector).each()不同, 后者专用于jquery对象的遍历, 前者可用于遍历任何的集合(无论是数组或对象),如果是数组,回调函数每次传入数组的索引和对应的值(值亦可以通过this 关键字获取,但javascript总会包装this 值作为一个对象—尽管是一个字符串或是一个数字),方法会返回被遍历对象的第一参数

 

 

jQuery使用on()绑定动态生成元素的事件无效的问题

jQuery的on()方法可以绑定动态生成元素的事件,但是在实际使用时发现无效。如下HTML:

<p>
    <a>123</a>
</p>

使用如下方式,对静态元素有效,但是绑定动态生成的a元素的事件时无效:

$('a').on('mouseenter', function(){
    ............
});

需要绑定a的父级元素(此元素必须为静态元素,不是后来动态生成的),然后设定on()方法的selector参数才行:

$('p').on('mouseenter', 'a', function(){
    ..............
});

 

匿名对象的调用

    console.log(
            {1: 'sam', age: '19'}[1], 
            {1: 'sam', age: '19'}['age'] 
    );
    // 'sam  19'  printed in console;

 

模拟真实的a标签点击

html:

    <a class="goToHref hide" href="#" target="_blank"></a>
    <!-- goToHref simulate a normal link when restaurant item was click -->

js:

    // bind restaurant item click event;
    $('.rest_item_group').on('click', '.rest_item', function (){
        var realHref = $(this).find('a:first').attr('href');
        $('.goToHref').attr('href', realHref);
        $('.goToHref')[0].click();
    });

 

posted @ 2014-05-24 23:37  会敲代码的狼  阅读(181)  评论(0编辑  收藏  举报