视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
jquery获取元素,包裹元素和插入元素属性用法详解
2020-11-27 20:19:27 责编:小采
文档


获取元素

.eq(index) 按index获取jQuery对象集合中的某个特定jQuery对象

.eq(-index) 按逆序index获取jQuery对象集合中的某个特定jQuery对象

$( "li" ).eq( 2 ).css( "background-color", "red" );

.get(index) 获取jQuery集合对象中某个特定index的DOM对象(将jQuery对象自动转换为DOM对象)

console.log( $( "li" ).get( -1 ) );

.get() 将jQuery集合对象转换为DOM集合对象并返回

console.log( $( "li" ).get() );

.index() / .index(selector)/ .index(element) 从给定集合中查找特定元素index

1. 没参数返回第一个元素index

2.如果参数是DOM对象或者jQuery对象,则返回参数在集合中的index

3.如果参数是选择器,返回第一个匹配元素index,没有找到返回-1

var listItem = $( "#bar" );
alert( "Index: " + $( "li" ).index( listItem ) );

.clone([withDataAndEvents][,deepWithDataAndEvents]) 创建jQuery集合的一份deep copy(子元素也会被复制),默认不copy对象的shuju和绑定事件

$( ".hello" ).clone().appendTo( ".goodbye" );

.parent([selector]) 获取jQuery对象符合selector的父元素

$( "li.item-a" ).parent('ul').css( "background-color", "red" );

.parents([selector]) 获取jQuery对象符合选择器的祖先元素

$( "span.selected" ) .parents( "div" ) .css( "border", "2px red solid" )

插入元素

.append(content[,content]) / .append(function(index,html)) 向对象尾部追加内容

1. 可以一次添加多个内容,内容可以是DOM对象、HTML string、 jQuery对象

2. 如果参数是function,function可以返回DOM对象、HTML string、 jQuery对象,参数是集合中的元素位置与原来的html值

$( ".inner" ).append( "<p>Test</p>" );
$( "body" ).append( $newdiv1, [ newdiv2, existingdiv1 ] );
$( "p" ).append( "<strong>Hello</strong>" );
$( "p" ).append( $( "strong" ) );
$( "p" ).append( document.createTextNode( "Hello" ) );

.appendTo(target) 把对象插入到目标元素尾部,目标元素可以是selector, DOM对象, HTML string, 元素集合,jQuery对象;

$( "h2" ).appendTo( $( ".container" ) );
$( "<p>Test</p>" ).appendTo( ".inner" );

.prepend(content[,content]) / .prepend(function(index,html)) 向对象头部追加内容,用法和append类似

$( ".inner" ).prepend( "<p>Test</p>" );

.prependTo(target) 把对象插入到目标元素头部,用法和prepend类似

$( "<p>Test</p>" ).prependTo( ".inner" );

.before([content][,content]) / .before(function) 在对象前面(不是头部,而是外面,和对象并列同级)插入内容,参数和append类似

$( ".inner" ).before( "<p>Test</p>" );
$( ".container" ).before( $( "h2" ) );
$( "p" ).first().before( newdiv1, [ newdiv2, existingdiv1 ] );
$( "p" ).before( "<b>Hello</b>" );
$( "p" ).before( document.createTextNode( "Hello" ) );

.insertBefore(target) 把对象插入到target之前(同样不是头部,是同级)

$( "h2" ).insertBefore( $( ".container" ) );

.after([content][,content]) / .after(function(index)) 和before相反,在对象后面(不是尾部,而是外面,和对象并列同级)插入内容,参数和append类似

$( ".inner" ).after( "<p>Test</p>" );
$( "p" ).after( document.createTextNode( "Hello" ) );

.insertAfter(target) 和insertBefore相反,把对象插入到target之后(同样不是尾部,是同级)

$( "<p>Test</p>" ).insertAfter( ".inner" );
$( "p" ).insertAfter( "#foo" );

包裹元素

.wrap(wrappingElement) / .wrap(function(index)) 为每个对象包裹一层HTML结构,可以是selector, element, HTML string, jQuery object

<div class="container">
 <div class="inner">Hello</div>
 <div class="inner">Goodbye</div></div>
$( ".inner" ).wrap( "<div class='new'></div>" );
<div class="container">
 <div class="new">
 <div class="inner">Hello</div>
 </div>
 <div class="new">
 <div class="inner">Goodbye</div>
 </div>
</div>

.wrapAll(wrappingElement) 把所有匹配对象包裹在同一个HTML结构中

Wrap an HTML structure around all elements in the set of matched elements.

<div class="container">
 <div class="inner">Hello</div>
 <div class="inner">Goodbye</div></div>
$( ".inner" ).wrapAll( "<div class='new' />");
<div class="container">
 <div class="new">
 <div class="inner">Hello</div>
 <div class="inner">Goodbye</div>
 </div>
</div>

.wrapInner(wrappingElement) / .wrapInner(function(index)) 包裹匹配元素内容,这个不好说,一看例子就懂

Wrap an HTML structure around the content of each element in the set of matched elements.

<div class="container">
 <div class="inner">Hello</div>
 <div class="inner">Goodbye</div></div>
$( ".inner" ).wrapInner( "<div class='new'></div>");
<div class="container">
 <div class="inner">
 <div class="new">Hello</div>
 </div>
 <div class="inner">
 <div class="new">Goodbye</div>
 </div>
</div>

.unwap() 把DOM元素的parent移除

pTags = $( "p" ).unwrap();

属性方法

.val() 获取元素的value值

$( "input:checkbox:checked" ).val();

.val(value) /.val(function(index,value)) 为元素设置值,index和value同样是指在为集合中每个元素设置的时候该元素的index和原value值

$( "input" ).val( ‘hello’ );
$( "input" ).on( "blur", function() {
 $( this ).val(function( i, val ) {
 return val.toUpperCase();
 });
});

.attr(attributeName) 获取元素特定属性的值

var title = $( "em" ).attr( "title" );

.attr(attributeName,value) / .attr(attributesJson) / .attr( attributeName, function(index, attr) ) 为元素属性赋值

$( "#greatphoto" ).attr( "alt", "Beijing Brush Seller" );
$( "#greatphoto" ).attr({
 alt: "Beijing Brush Seller",
 title: "photo by Kelly Clark"
});
$( "#greatphoto" ).attr( "title", function( i, val ) {
 return val + " - photo by Kelly Clark";
});

.prop( propertyName ) 获取元素某特性值

$( elem ).prop( "checked" )

.prop(propertyName,value) / .prop(propertiesJson) / .prop(propertyName,function(index,oldPropertyValue)) 为元素特性赋值

$( "input" ).prop( "checked", true );
$( "input[type='checkbox']" ).prop( "checked", function( i, val ) {
 return !val;
});
$( "input[type='checkbox']" ).prop({
 disabled: true
});

.data(key,value) / .value(json) 为HTML DOM元素添加数据,HTML5元素 已有data-*属性

$( "body" ).data( "foo", 52 );
$( "body" ).data( "bar", { myType: "test", count: 40 } );
$( "body" ).data( { baz: [ 1, 2, 3 ] } );

.data(key) / .data() 获取获取data设置的数据或者HTML5 data-*属性中的数据

alert( $( "body" ).data( "foo" ) );
alert( $( "body" ).data() );
alert( $( "body" ).data( "foo" ) ); // undefined
$( "body" ).data( "bar", "foobar" );
alert( $( "body" ).data( "bar" ) ); // foobar

下载本文
显示全文
专题