在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后面增加元素如何实现等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)