今天就跟大家聊聊有关jQuery中容易让人困惑的知识点有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
一,什么是jquery
jQuery是继prototype之后又一个优秀的Javascrīpt框架。其宗旨是——WRITE LESS,DO MORE,写更少的代码,做更多的事情。说白了,jquery就是javascript。只不过按照人的习惯思维把它封装了一个比较强大的框架。还有一点jquery能够把html和javascript尽量分离,这也是我愿意用jquery的一个重要原因。jqueryt很灵活,太灵活了,可以说是他一个优点,也是他一个缺点,达到一种效果,十个人也许会用十种不同的方法来实现这个过程,结果一样,过程不一样,这到底是好,还是坏呢。就各说各的理了。
二,学习和使用jquery的困惑
1)$.fn.extend({})和$.extend({})
$.fn.extend是扩展jQuery元素集来提供新的方法(通常用来制作插件)。解释一下,就是通过$.fn.extend产生的jquery方法在调用jquery时,不会包括括在jquery自身的对象中,它是扩展插件的形势,继承的。你可以把它理解为php中的extend。举个例子
$.fn.extend({ checkname: function() { if($.trim($(this).val()) != ""){ return true; }else{ return false; } } });
调用时 $("input.name").checkname();
$.extend是扩展jQuery对象本身。解释一下,就是说通过$.extend产生的jquery方法,在调用jquery时,会包括在jquery自身的对象中。说白了,就是在jquery对象中添加方法,例如
$.extend({ checkname: function(name) { if($.trim(name!= ""){ return true; }else{ return false; } } });
调用时 $.checkname($("input.name").val());
2)$().each({})和$.each({})
$().each({})用来循环数组和对像
<ul> <li><div>Glen</div></li> <li>Tane</li> <li>Ralph</li> </ul>
下面是循环对象
$("ul li").each(function(k,v){ alert("key="+k+",value="+$(v).html()); }); );
下面是循环数组
array = [0,1,2]; $(array).each(function(k,v){ alert("key="+k+",value="+v); });
$.each({})可用来循环所有数组和对象,个人觉得他们二个没什么差别,除了写法不一样外
下面是循环数组
array = [0,1,2]; $.each(array,function(k,v){ alert("key="+k+",value="+v); });
下面是循环对象
$.each($("ul li"),function(k,v){ alert("key="+k+",value="+$(v).html()); });
注意:function(k)这里k是下标,function(k,v)这是k还是下标,v不一定,有可能是数组里面的一个值,也有可能是一个对象,如果是对象时,如果参数不写出来,默认情况是this
3),$(" :contains()")和$(" :has()")
$(" :contains()") 匹配包含给定文本的元素,contains里面包括的是文本内空
$("li:contains('Ra')").css('color','red');
$(" :has()")匹配含有选择器所匹配的元素的元素,has里面包话的是一个标签
$("li:has(div)").css('color','red');
4), $(" :first")和 $(" :first-child")
$(" :first") 匹配找到的***个元素
$(" :first-child") 匹配***个子元素,':first' 只匹配一个元素,而此选择符将为每个父元素匹配一个子元素
<div><ul> <li>list item 1</li> <li>list item 2 <ul> <li>list item 2-a</li> <li>list item 2-b</li> </ul> </li> <li>list item 3</li> <li>list item 4</li> </ul></div>
$("ul li:first").css('color','red'); //只匹配***次, $("ul li:first-child").css('color','red'); //匹配每个符合要求的对象 5),$().html()和$().text() $().html()取得***个匹配元素的html内容。这个函数不能用于XML文档。但可以用于XHTML文档。 $().text()结果是由所有匹配元素包含的文本内容组合起来的文本。这个方法对HTML和XML文档都有效。 <span><p>Hello</p></span> $('span').html(); //得到的结果是<p>Hello</p> $('span').texxt(); //得到的结果是Hello 6),$().empty()和$().remove() $().empty() 清空匹配元素中的内空,但不清空自身、 $().remove(),清空匹配元素中的内空,以及自身 <span><p>Hello</p></span> $('p').empty() //得到的结果是<span><p></p></span> $('p').remove() //得到的结果是<span></span>
看完上述内容,你们对jQuery中容易让人困惑的知识点有哪些有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。