jquery 使用相关记录

来源:互联网 发布:匡恩网络 b轮 融资 编辑:程序博客网 时间:2024/04/29 16:29
</pre><p></p><pre name="code" class="javascript">1. jquery $(#id) 获取对象 如果页面中出现重复相同的id值

<span style="font-family: Arial, Helvetica, sans-serif;">  如:<li id="all"><a id="all"></li> jquery会根据文档的加载顺序(从上至下来优先获取)</span><pre name="code" class="javascript"><span style="font-family: Arial, Helvetica, sans-serif;"> $('#all').text(); 此刻获取的对象为li 而并非a标签 只获取一个而不是数组。</span>

2. jquery tmpl 模版引擎
<span style="font-family: Arial, Helvetica, sans-serif;"> <li id='jc'></span>
<a href="javascript:void(0)"  class="current">全部</a>         <script type="text/x-jqeury-tmpl" id="jctmpl">          <a href="javascript:void(0)">${jcName}</a>            </script>  </li> 
$("#jc>a:first").nextAll().remove();//异常 处  $("#jctmpl").tmpl(data).appendTo('#jc');  

执行
$("#jc>a:first").nextAll().remove();

时候把id为jctmpl的模版也给删除了 所以在用模版来填充数据的时候报无此方法是因为$("#jctmpl") 为undifind 。 

注意: 在使用tmpl的时候尽量不要将他放入要填充数据的元素内部应该单独在页面上写。 如果为了代码易读非要这么干那记住不要删除他。



3  jquery delegate 事件 

定义和用法

delegate() 方法为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。

使用 delegate() 方法的事件处理程序适用于当前或未来的元素(比如由脚本创建的新元素)。

语法

$(selector).delegate(childSelector,event,data,function)
参数描述childSelector必需。规定要附加事件处理程序的一个或多个子元素。event

必需。规定附加到元素的一个或多个事件。

由空格分隔多个事件值。必须是有效的事件。

data可选。规定传递到函数的额外数据。function必需。规定当事件发生时运行的函数。

 主要是为未来元素添加事件行为 未来是指 用js jquery 等动态添加的元素 他监控被选元素的这些子元素(前提是被选元素不被重新渲染如果他被动态改变过那么delegate也将不负责其子元素的事件绑定工作)。 其他方法如bind() clik() 只为当前元素绑定事件一旦元素被重新渲染事件将不起作用只能重新绑定   delegate()  可以。

$('.HlistMain').delegate('li','hover',function(e) { $(this).find('.HteacherDe1').css({"opacity":0.6,"background":"black"});         $(this).children('.HteacherDe').fadeIn();});$('.HlistMain').delegate('li','mouseout',function(){   $(this).find('.HteacherDe1').css({"opacity":0});       $(this).children('.HteacherDe').fadeOut();});

.HlistMain 元素不能被动态改变。 


A.appendTo(B) 将A的内容添加到B元素内部的最后位置

 A.prependTo(B)将A的内容添加到B元素内部的起始位置

0 0