jQuery对网页节点的增删改查 选择节点
首先介绍 jQuery 资源,然后,不仅除下拉列表之外的其余节点都没有 IDjquery删除节点,展示两种通过 Jquery 获取节点的方法,一种直接通过 idjquery删除节点,一种通过获取子节点的形式。
这里没有什么特别的,关键是下面的jQuery编程:
var i = 1;//定义一个节点的id $("body>div").css("border","1px solid #cccccc");//先把body下面的所有div的上style="border:1px solid #cccccc"属性。此乃jQuery对节点的css操作。 $("body>button:eq(0)").click(function(){//body下面的第0个按钮的onclick事件 if (i div").append("text" + i + "
");//则在body下面的所有div,也就是唯一一个div中添加上id=p1,p2,p3...的节点,且文本为text1,2,3... $("#nodeList").append("text" + i + "");//同时在下拉列表中加上id=option1,option2....,value=1,2,3...的选项,一会儿,供下面的修改、删除使用 i++;//节点数加1 $("body>div").css("border","1px solid #cccccc");//如果符合要求,使边框变灰 } else {//如果不符合要求,弹出警告,使边框变红 alert("最多10个节点!"); $("body>div").css("border","1px solid #ff0000"); } }); $("body>button:eq(1)").click(function(){//body下面的第1个按钮的onclick事件 if (i > 1) { var removeId = $("#nodeList").val();//获取要下拉列表中的值 $("#option" + removeId).remove();//删除相应的选项、p节点 $("#p" + removeId).remove(); i--;//节点数减1 $("body>div").css("border","1px solid #cccccc"); } else{ alert("最少0个节点!"); $("body>div").css("border","1px solid #ff0000"); } }); $("body>button:eq(2)").click(function(){//body下面的第2个按钮的onclick事件 if (i > 1) { var updateText = $("body>input[type='text']").val();//获取文本框的输入内容 var updateId = $("#nodeList").val();//获取下拉拉列表中的值 var updateFlag = true;//用来验证是否有同名节点的flag $("body>div>p").each(function(){//遍历div下的所有p节点 if(updateText==$(this).html()){//如果输入的值等于p节点的值 alert("已有同名节点,不得修改!");//则弹出警告 $("body>div").css("border", "1px solid #ff0000"); updateFlag = false;//收起flag } }); if (updateFlag) { if (updateText != "") { $("#option" + updateId).html(updateText);//修改下拉列表中的值 $("#p" + updateId).html(updateText);//修改相应p节点的值 $("body>input[type='text']").val("");//清空输入框 $("body>div").css("border", "1px solid #cccccc"); } else { alert("修改内容不得为空!"); $("body>div").css("border", "1px solid #ff0000"); } } } else{ alert("没有节点,修改毛线!"); $("body>div").css("border", "1px solid #ff0000"); } });
可以看出,这里 jQuery 设置 CSS 表示先要更改的 CSS 属性,然后写入要更改的内容,而 Javascript 更改 CSS 是对节点的样式更改。
jQuery 以每种方式遍历节点。Javascript 为要遍历的节点分配一个名称,然后使用 document.getElementbyName 获取所有名称并进行迭代。
jQuery删除一个节点,这比Javascript容易得多,remove()搞砸了一切,Javascript必须找到自己的父节点来测试它可以删除自己。
jQuery查找可以使用>符号直接查看的子节点,而Javascript使用xx.getElementsByTagName来查找它们。
对于更多对jQuery相关内容感兴趣的读者,请查看本站的主题:“jQuery 操作 DOM 节点摘要”、“jQuery 页面元素操作方法摘要”、“jQuery 常用插件和使用摘要”、“jQuery 表
(表)操作方法摘要”、“jQuery 扩展方法摘要”、“jQuery 常见经典效果摘要”和“jQuery 选择器使用摘要”
我希望这篇文章对你的jQuery编程有所帮助。
JS立即执行函数的编写方式。js 立即执行函数
只能用于匿名函数,如果声明函数名不能立即执行,通常在函数表达式后添加一对小括号()进行立即执行
如果想让函数不被调用的情况下,立即自动执行,需要在函数表达式的末尾加一对括号()
示例代码:var fun=function(){alert("经验");}()
// 声明一个函数表达式
var fun=function(){alert("经验");}();
//常见写法一:方式1、最前最后加括号
(function(){alert("经验")})();
//常见写法二:方式2、function外面加括号
(function(){alert("经验")}());
//方式3、function前面加运算符,常见的是!与void
!function(){alert(1);}();
void function(){alert(2);}();
二、立即执行函数的参数
可以给立即执行函数传递参数,例如
(function(who, when) {
console.log("I met " + who + " on " + when);
} ("Joe Black", new Date()));
记得:
1. 外部变量可以在即时函数内部访问,所以在很多情况下,我们不需要传递参数。例如:jQuery的窗口左值,如果未传递。内部也可以直接使用。
2)你通常不应该传递太多的函数来立即执行,因为它很快就会成为一个负担 - 你必须不断地上下滚动源代码以了解代码是如何工作的。
三、立即执行函数的返回值
像其它任何函数一样,一个立即执行函数也能返回值并且可以复制给其它变量,例如
var result = (function () {
return 2 + 2;
}());
var result = (function () {
return 2 + 2;
})();
加载页面后执行 JS
js 网页加载完毕,执行js函数
一般网页加载完毕后,会马上执行js,给按钮,超链接等标签设置多种行为,实现这样的方式:
DoFunction()、FirstFunction()、SecondFunction()为js的三个函数
(1)一个函数
window.onload =DoFunction();
(2)多个函数(函数数量过多,会出错)
window.onload = function () {
DoFunction();
FirstFunction();
SecondFunction();
};
(3)多个函数(很多个函数)
复制代码
function addLoadEvent(func) {
var oldLoad = window.onload;
if (typeof window.onload != "function") {
window.onload = func;
} else {
window.onload = function () {
oldLoad();
func();
}
}
}
复制代码
addLoadEvent(DoFunction);
addLoadEvent(FirstFunction);
addLoadEvent(SecondFunction);
来源:https://www.cnblogs.com/wwz-wwz/p/7705328.html
在js和jquery使用中,经常使用到页面加载完成后执行某一方法。通过整理,大概是五种方式(其中有的只是书写方式不一样)。
1:使用jQuery的$(function){};
2:使用jquery的$(document).ready(function(){});前两者本质上没有区别,第1种是第2种的简写方式。两个是document加载完成后就执行方法。
3:使用jQuery的$(window).load(function(){});
4:使用window.onload = function(){} 第3种和第4种都是等到整个window加载完成执行方法体。两者也没有区别,只是一个使用dom对象,一个使用jQuery对象。
5:在标签上静态绑定onload事件,等待body加载完成,就会执行aaa()方法。
那么,这五种方式,执行的先后顺序是怎么样的呢?
通过下方代码验证发现:
使用1:jQuery的$(function){}和2:jquery的$(document).ready(function(){});
无论位置放置在哪里,总是优先其余三种方式
(原因是:这两种方式是在document加载完成后就执行,后三种是等到整个window页面加载完成后才执行),这两者之间的执行顺序是谁在上方谁优先执行。
使用3:jQuery的$(window).load(function(){});4:window.onload = function bbb(){}这两种方式,总是优先于执行。他们两者执行顺序也是根据谁在上方谁先执行。
使用5:总是最后执行。
jQuery 在页面加载时手动调用函数
在 html 文件中,
引入 jquery.min .js库文件,成功加载文件jquery的load,并能够使用 jQuery 中的技巧。
在实际开发中,“$(document).ready(function(){})”
通常缩写为“$(function(){})”。
在函数() 模式下,调用
bg() 函数jquery的load,并在页面加载时实现函数的手动调用,代码如下:
html 的 body 标签在加载页面后手动执行: