官术网_书友最值得收藏!

Traversal and manipulation

We discussed various methods of element selection using jQuery. We will discuss several DOM traversal and manipulation methods using jQuery in this section. These tasks would be rather tedious to achieve using native DOM manipulation. jQuery makes them intuitive and elegant.

Before we delve into these methods, let's familiarize ourselves with a bit of HTML terminology that we will be using from now on. Consider the following HTML:

<ul> <-This is the parent of both 'li' and ancestor of everything in 
  <li> <-The first (li) is a child of the (ul)
    <span>  <-this is the descendent of the 'ul'
      <i>Hello</i>
    </span>
  </li>
  <li>World</li> <-both 'li' are siblings
</ul>

Using jQuery traversal methods, we select the first element and traverse through the DOM in relation to this element. As we traverse the DOM, we alter the original selection and we are either replacing the original selection with the new one or we are modifying the original selection.

For example, you can filter an existing selection to include only elements that match a certain criterion. Consider this example:

var list = $( 'li' ); //select all list elements
// filter items that has a class 'highlight' associated
var highlighted = list.filter( '.highlight );
// filter items that doesn't have class 'highlight' associated 
var not_highlighted = list.not( '.highlight );

jQuery allows you to add and remove classes to elements. If you want to toggle class values for elements, you can use the toggleClass() method:

$( '#usename' ).addClass( 'hidden' );
$( '#usename' ).removeClass( 'hidden' );
$( '#usename' ).toggleClass( 'hidden' );

Most often, you may want to alter the value of elements. You can use the val() method to alter the form of element values. For example, the following line alters the value of all the text type inputs in the form:

$( 'input[type="text"]' ).val( 'Enter usename:' );

To modify element attributes, you can use the attr() method as follows:

$('a').attr( 'title', 'Click' );

jQuery has an incredible depth of functionality when it comes to DOM manipulation—the scope of this module restricts a detailed discussion of all the possibilities.

主站蜘蛛池模板: 信丰县| 城固县| 丰都县| 抚远县| 和林格尔县| 云南省| 泽普县| 安龙县| 利津县| 磐石市| 司法| 瓮安县| 禹州市| 三江| 邹城市| 革吉县| 鄂州市| 库伦旗| 柞水县| 普宁市| 翁源县| 永顺县| 平遥县| 天柱县| 中阳县| 常宁市| 榆社县| 常宁市| 奉节县| 定边县| 维西| 松溪县| 沙坪坝区| 安图县| 临邑县| 达孜县| 博乐市| 敖汉旗| 巴里| 独山县| 库尔勒市|