jquery中add方法和after区别

jquery中add方法和after区别,第1张

在jQuery中,add()方法和after()方法都可以用来 *** 作DOM元素,但是它们所承担的职责不同。

add()方法是用于向选择器选中的集合中添加指定的DOM元素、选择器或HTML字符串等,从而将它们包含在当前的jQuery对象中,返回的是一个新的包含原对象和新添加的对象的jQuery对象。

after()方法是用于将指定的DOM元素、选择器或HTML字符串等插入到目标元素后面的位置,返回的是原目标元素的jQuery对象。

因此,两种方法主要区别在于add方法是添加指定的DOM元素或选择器到当前的jQuery对象中,而after方法是将指定的元素或HTML字符串插入到目标元素后面的位置。

name是input标签的属性值,jQuery提供了attr() 方法用于设置/改变属性值

$("input:text")attr("name");

$("input:text")prop("name");  // 也可以使用prop()方法获取属性

$("[name='name']")val(); //获取vlaue值

$("[name='name']")attr('id','name'); //添加id名称

$("[name='name']")after('

jquery通过name属性取值的方法

 alert($("input[name='inputTest']")val());

alert($("input[type='text']")attr("id")); //这个是取id的值,方便记就写在这儿了

$("input[name='inputTest']")each(

function(){

alert($(this)val());

}

alert($("input[name='inputTest']")[0]value);

alert($("input[name='inputTest']")[1]value);

alert($("input[name='inputTest']")get(0)value); //此处也可以得到值,等同于上面两行

alert($("input[name='inputTest']")get(1)value);

根据name取值:  

$("input[name='mobile']")val()  

根据id取值:  

$("#mobile_reg_form")html()  

根据name取值了遍历:  

$("input[name='mobile']")each(  

function(){  

alert($(this)val());  

}  

)   

取出form中的input:  

$(document)ready(function(){    

vara=$("form input");    

$each(    

    a,    

function(name,object){    

alert(name+":"+$(object)val());    

}    

);    

});    

得到值(多个的情况):  

$("input[name='mobile']")[0]value  

$("input[name='mobile']")get(1)value  

-----jquery添加删除样式--------  

给一个标签添加样式:  

$("#id")addClass("style");  

删除一个标签的样式:  

$("#id")removeClass("style");  

注:"#id"  id是对应标签的id,style是对应css样式的名称  

1、双击打开HBuilder并新建一个静态页面,在页面中引入jquery文件。

2、在<body></body>标签内,插入一个div标签并在其中插入一个无序列表。

3、接着在jQuery初始化函数中,利用jquery each函数遍历循环ul li。

4、保存代码并在浏览器上查看页面显示的效果,可以发现只有几个无序列表项的点。

5、再次添加样式代码,并使用类选择器包裹,然后使用addClass方法添加类样式。

6、再次保存代码并查看页面显示效果,可以发现背景颜色改变了,即增加颜色成功。

1、通过过滤器获取li数组

var lis = $('div li');//表示获取div下所有的直接或者非直接li节点。

2、循环lis方式获取每个li元素

for(var i=0;i<lislength;i++){

   var li = lis[i];//获取每个li元素

}

// 其实这样是正常的啊,你为 input 添加 onblur 事件,但是你后来添加的 input 并没有为它绑定 onblur 事件,所以是不会执行你的 alert('ss') 的,如果每次页面一遍就要全部重新绑定,那效率会很慢的,你可以为新的 input 绑定方法,如下修改你的代码:

<script type="text/javascript">

$(function() {

// 为你的 input 绑定 onblur ,执行 myalert() 方法

$("#table input")blur(function() {

myalert();

});

// 点击的时候新增一个按钮,这个按钮有 onblur="myalert()"

// 当然,你这里也可以把 input 抽离出来

// 这里你的 inp 是一个 jquery 对象,建议用 $(); 包起来,否则火狐好像有些版本不兼容

$("#button")click(function() {

var inp = $('<tr><td><input name="val[]" type="text" onblur="myalert()" /></td></tr>');

$("#table tr:last")after(inp);

});

})

// 这是你的 alert 方法,为了公用,就抽离出来

function myalert() {

alert("ss");

}

</script>

// 另外你也可以使用 live 来绑定 onblur 事件,使用 live 的话,你的对象每次一发生改变,则会重新执行绑定和加载事件,效率可能比较慢,但是也可以实现效果,修改你的代码如下:

<script type="text/javascript">

$(function() {

$("#table input")live("blur", function() {

alert("ss");

});

$("#button")click(function() {

var inp = $('<tr><td><input name="val[]" type="text" /></td></tr>');

$("#table tr:last")after(inp);

});

})

</script>

after是追加一个元素到指定位置,既然是元素,就是一个闭合的。

如果 *** 作元素的话,建议把li取出,做循环,每三个包裹在<ul></ul>中。

如果 *** 作字符串的话,查找DOM代码,插入html代码,用 innerHTML 。

意思就是在this的后面插入一个input文本框,然后再把this删除。相当于把this替换为新的input文本框。

就好比在排队的时候,你让另一个人插到自己身后,然后自己离开,不就相当于让另一个人代替自己排队吗?

不知道我说得对不对,

jquery

提供的伪类选择器都是针对html元素的,而

css

:after

:before

这些是伪元素,jquery

中并不能获取这些伪元素。

而且

animate()

css()

都是在标签中增加/改变

inline-style,而伪元素自身并不带有

inline-style。

当然可以通过更变

snow

className

来改变

:after

:before

的样式。而对于伪元素的动画效果,可以考虑用

gif

背景图,或者

css3

的动画效果来替代。

以上就是关于jquery中add方法和after区别全部的内容,包括:jquery中add方法和after区别、jquery通过name,id名称获取当前value值、Jquery:要在指定DIV下的第二个P后面增加元素如何实现等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9449133.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存