jQuery入门知识点有哪些


这篇文章主要介绍“jQuery入门知识点有哪些”,在日常操作中,相信很多人在jQuery入门知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jQuery入门知识点有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
  jQuery提供两种方式来选择html的elements,第一种是用CSS和Xpath选择器联合起来形成一个字符串来传送到jQuery的构造器(如:$(“div > ul a”));第二种是用jQuery对象的几个methods(方法)。这两种方式还可以联合起来混合使用。
  为了测试一下这些选择器,我们来试着在我们starterkit.html中选择并修改第一个ordered list.
  一开始,我们需要选择这个list本身,这个list有一个ID叫“orderedlist”,通常的javascript写法是document.getElementById(“orderedlist”).在jQuery中,我们这样做:
  $(document).ready(function() {
  $(“#orderedlist”).addClass(“red”);
  });
  这里将starterkit中的一个CSS样式red附加到了orderedlist上。因此,在你刷新了starterkit.html后,你将会看到第一个有序列表(ordered list )背景色变成了红色,而第二个有序列表没有变化.
  现在,让我们添加一些新的样式到list的子节点.
  $(document).ready(function() {
  $(“#orderedlist > li”).addClass(“blue”);
  });
  这样,所有orderedlist中的li都附加了样式”blue”。
  现在我们再做个复杂一点的,当把鼠标放在li对象上面和移开时进行样式切换,但只在list的最后一个element上生效。
  $(document).ready(function() {
  $(“#orderedlist li:last”).hover(function() {
  $(this).addClass(“green”);
  }, function() {
  $(this).removeClass(“green”);
  });
  });
  还有大量的类似的CSS和XPath例子,更多的例子和列表可以在这里找到。
  每一个onXXX事件都有效,如onclick,onchange,onsubmit等,都有jQuery等价表示方法。其他的一些事件,如ready和hover,也提供了相应的方法。
  你可以在Visual jQuery找到全部的事件列表,在Events栏目下.
  用这些选择器和事件你已经可以做很多的事情了,但这里有一个更强的好东东!
  $(document).ready(function() {
  $(“#orderedlist”).find(“li”).each(function(i) {
  $(this).html( $(this).html() + ” BAM! ” + i );
  });
  });
  find() 让你在已经选择的element中作条件查找,因此 $(“#orderedlist).find(“li”) 就像 $(“#orderedlist li”)一样。each()方法迭代了所有的li,并可以在此基础上作更多的处理。 大部分的方法,如addClass(), 都可以用它们自己的 each() 。在这个例子中, html()用来获取每个li的html文本, 追加一些文字,并将之设置为li的html文本。
  另一个经常碰到的任务是在没有被jQuery覆盖的DOM元素上call一些方法,想像一个在你用AJAX方式成功提交后的reset:
  $(document).ready(function() {
  // use this to reset a single form
  $(“#reset”).click(function() {
  $(“#form”)[0].reset();
  });
  });
  这个代码选择了所有ID为”form”的元素,并在其第一个上call了一个reset()。如果你有一个以上的form,你可以这样做:
  $(document).ready(function() {
  // use this to reset several forms at once
  $(“#reset”).click(function() {
  $(“form”).each(function() {
  this.reset();
  });
  });
  });
  这样你在点击Reset链接后,就选择了文档中所有的form元素,并对它们都执行了一次reset()。
  还有一个你可能要面对的问题是不希望某些特定的元素被选择。jQuery 提供了filter() 和not() 方法来解决这个问题。 filter()以过滤表达式来减少不符合的被选择项, not()则用来取消所有符合过滤表达式的被选择项. 考虑一个无序的list,你想要选择所有的没有ul子元素的li元素。
  $(document).ready(function() {
  $(“li”).not(“:has(ul)”).css(“border”, “1px solid black”);//原文为$(“li”).not(“[ul]”).css(“border”, “1px solid black”);
  });
  这个代码选择了所有的li元素,然后去除了有ul子元素的li元素。刷新浏览器后,所有的li元素都有了一个边框,只有ul子元素的那个li元素例外。
  上面代码中的[expression] 语法是从XPath而来,可以在子元素和属性(elements and attributes)上用作过滤器,比如你可能想选择所有的带有name属性的链接:
  $(document).ready(function() {
  $(“a[name]”).css(“background-color”,”#eee”); //原文为“$(“a[@name]”).background(“#eee”);”在jQuery1.2及以上版本中,@符号应该去除,background方法被css方法取代
  });
  这个代码给所有带有name属性的链接加了一个背景色。
  更常见的情况是以name来选择链接,你可能需要选择一个有特点href属性的链接,这在不同的浏览器下对href的理解可能会不一致,所以我们的部分匹配(“*=”)的方式来代替完全匹配(“=”):
  $(document).ready(function() {
  $(“a[href*=/content/gallery]”).click(function() {
  // do something with all links that point somewhere to /content/gallery
  });
  });
  到现在为止,选择器都用来选择子元素或者是过滤元素。另外还有一种情况是选择上一个或者下一个元素,比如一个FAQ的页面,答案首先会隐藏,当问题点击时,答案显示出来,jQuery代码如下:
  $(document).ready(function() {
  $(‘#faq’).find(‘dd’).hide().end().find(‘dt’).click(function() {
  var answer=$(this).next();
  if (answer.is(‘:visible’)) {
  answer.slideUp();
  } else {
  answer.slideDown();
  }
免费云主机域名  });
  });
  这里我们用了一些链式表达法来减少代码量,而且看上去更直观更容易理解。像’#faq’ 只选择了一次,利用end()方法,第一次find()方法会结束(undone),所以我们可以接着在后面继续find(‘dt’),而不需要再写$(‘#faq’).find(‘dt’)。
  在点击事件中的,我们用 $(this).next() 来找到dt下面紧接的一个dd元素,这让我们可以快速地选择在被点击问题下面的答案。
  除了选择同级别的元素外,你也可以选择父级的元素。可能你想在用户鼠标移到文章某段的某个链接时,它的父级元素–也就是文章的这一段突出显示,试试这个:
  $(document).ready(function() {
  $(“a”).hover(function() {
  $(this).parents(“p”).addClass(“highlight”);
  }, function() {
  $(this).parents(“p”).removeClass(“highlight”);
  });
  });
  测试效果可以看到,移到文章某段的链接时,它所在的段全用上highlight样式,移走之后又恢复原样。
  在我们继续之前我们先来看看这一步: jQuery会让代码变得更短从而更容易理解和维护,下面是$(document).ready(callback)的缩写法:
  $(function() {
  // code to execute when the DOM is ready
  });
  应用到我们的Hello world例子中,可以这样:
  $(function() {
  $(“a”).click(function() {
  alert(“Hello world!”);
  });
  });到此,关于“jQuery入门知识点有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注百云主机网站,小编会继续努力为大家带来更多实用的文章!

相关推荐: Javascript中async与await的捕捉错误怎么理解

这篇文章主要介绍“Javascript中async与await的免费云主机域名捕捉错误怎么理解”,在日常操作中,相信很多人在Javascript中async与await的捕捉错误怎么理解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 10/05 14:57
下一篇 10/05 14:57

相关推荐