jQuery Notes

作者: shisaq 日期: June 15, 2016

I’ve learned “Intro to jQuery” in Udacity. Here is the link: Intro to jQuery.

What I’ve learned

  1. jQuery is a function as well as an object. It’s a JavaScript library.

  2. $ === jQuery.

  3. $(string) or $(function) or $(DOM Element)

  4. 3 ways to load jQuery:
  5. local file;  // <script src="js/jquery.js"></script>
  6. jQuery official;  // <script src="http://code.jquery.com/jquery-3.0.0.min.js" integrity="sha256-JmvOoLtYsmqlsWxa7mDSLMwa6dZ9rrIdtrrVYRnDRH0=" crossorigin="anonymous"></script>
  7. Content Delivery Network(CDN), such as Google, Microsoft and so on. Or some Chinese friendly: // <script src="//cdn.bootcss.com/jquery/3.0.0/core.js"></script>

  8. jQuery Selector: $('tag') $('.class') $('#ID')

  9. $('#shisaq').parent() // chose the element who is the first level of #shisaq’s parent. 选择它上一级的元素 $('#shisaq').parents() // chose all the elements who is the parent of #shisaq. We can specify a parent that we want, to add it into the parenthesis. 选择它的所有父级。可在括号中指定具体父级元素 $('#shisaq').children() // chose it’s closest children. 选择它的直接下一级 $('#shisaq').find() // chose all the children of #shisaq, or, if there is a specify element inside the parenthesis, we chose that one. 选择所有子元素。可在括号中指定具体子元素 $('#shisaq').siblings() // chose brothers and sisters. 选择平级元素

  10. .addClass():
  11. add a class name into a tag or a property. 括号里是假如的class名称。 e.g: $('body').addClass('blue'); // <body class="blue"></body> 2. We can add a function inside the parenthesis. But the function must return a string so that the string can be added as a class. 我们可以在括号里加入一个function。此function必须返回一个字符串,以便此字符串可以作为一个class名称加入

  12. .toggleClass() : Switch class. Cut the class if there exists; Add it if there is no. 切换class。如果有,就去掉;如果没有就加上。 e.g: $('blue').toggleClass(); We can also add parameters into the second parenthesis:
  13. $('#shisaq').toggleClass(className, addOrRemove); is equal to: if (addOrRemove) { `  $(‘#shisaq’).addClass(className); } else {  $(‘#shisaq’).removeClass(className); }`
  14. Add function: $('#shisaq').toggleClass(function() { `  if ( $(this).parent().is(“nav”) {    return “happy”;  } else {    return “sad”;  } // This will make a judgement on whether #shisaq's parent is nav . If it is, add class "happy" to #shisaq`; If not, add “sad”. 判断shisaq的父元素是否是nav。如果是,加上happy给shisaq;如果不是,加sad给shisaq。

  15. .next() : Get the immediately following sibling of each element in the set of matched elements. If a selector is provided, it retrieves the next sibling only if it matches that selector. 获取下一个平级(兄弟)元素。如果括号中有提供一个元素,则选中下一个可以匹配此内容的元素。

<ul>

<li>list item 1</li>

<li>list item 2</li>

<li class="third-item">list item 3</li>

<li>list item 4</li>

<li>list item 5</li>

</ul>

If we begin at the third item, we can find the element which comes just after it:

$( "li.third-item" ).next().css( "background-color", "red" );

  1. .attr() : Get the value of the selected element, or change the value into other. $('.shisaq').attr('href'); // get the value of href in .shisaq 返回在shisaq中href的值 $('.shisaq').attr('href', 'yeah'); // change the value of href into “yeah” 把shisaq的href的值改为“yeah”

  2. .css() : Similar with .attr() ,  but it adds values into style. 和attr()类似,不过它是向style里添加内容

  3. .html() and .text() : .html() returns the whole html, yet .text() returns the content inside the html. .html()返回选中元素的整个html,.text()返回选中元素的html里的内容

  4. .val() : get the value of the selected element 取选中元素的值

  5. [.remove()](http://api.jquery.com/remove/) : Remove the selected element from the DOM. e.g: $('nav').remove(); // remove the nav 移除nav $('nav').remove('li'); // remove all the li in the nav. 移除所有在nav里面的li

  6. .append() and .prepend() : .append()(.prepend()) inserts content to the end(beginning) of the selected element 在选中元素的末尾(prepend是开头)加入括号中的内容

  7. .insertAfter() and .insertBefore() : $( "<p>Test</p>" ).insertAfter( ".inner" ); // insert <p>Test</p> after every .inner class. 在每一个inner后面加入<p>Test</p>代码段

  8. .click() : A function will execute after clicked the selected element. 括号中的function会在被选中的元素被鼠标点击时执行。 e.g: $("#target").click(function() {

` alert(“Hello world!”);`

}); // after clicked the #target element, the alert window will show. // 点击#target元素后,alert窗口会弹出