Hybrid App开发之jQuery操作DOM
前言:
前面学习了JQuery的选择器,今天开始学习新的知识,JQuery操作DOM元素。
元素属性的访问与设置
- attr(name) 获取元素属性
- attr(name,value) 单个属性设置
- attr({key:value,key1:value1,...}) 多个属性设置
- attr(name,function(index))通过函数返回的值修改属性
- removeAttr(name) 删除单个属性值
元素内容的访问与设置
- html() 获取元素的html内容
- html(val) 修改元素的html内容
- text() 获取元素的文本内容
- text(val) 设置元素的文本内容
- val()获取元素的值
- val(value)设置元素的值
元素样式操作
- css(name,value) 修改单个css样式值
- addClass(class1) 增加css样式类别
- toggleClass(class1)类别切换
- removeClass(class1)删除类别
上面几个写个小例子
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<style type="text/css"> #searchText {
height: 40px;
width: 200px;
} .searchBtnNormal {
width: 100px;
height: 45px;
margin: 5px;
background-color: deepskyblue;
color: white;
font-size: 16px;
font-family: 宋体;
border: 0;
} .searchBtnClick {
width: 100px;
height: 45px;
margin: 5px;
background-color: blue;
color: white;
font-size: 16px;
font-family: 宋体;
border: 0;
} </style>
<script type="text/javascript"> $(function () {
$("#searchBtn").click(function () {
//获取元素属性值
alert($("#logo_icon").attr("src"));
//修改元素单个属性值
$("#logo_icon").attr("width", "135px");
//修改元素多个属性值
$("#logo_icon").attr({"width": "135px", "height": "80px"});
//通过function修改元素属性值
$("#logo_icon").attr("src", function () {
return 'http://www.hao123.com/redian/images/logo_new.gif';
});
//删除某个元素的属性值
$("#logo_icon").removeAttr("width");
//获取元素的html值
var html = $("#bottomDiv").html();
alert(html);
//修改html元素的值
// $("#bottomDiv").html(html + "<p>输入你要搜索的内容</p>");
alert($("#bottomDiv>h3").text());
$("#bottomDiv>h3").text('百度搜索天下无敌');
alert($("#searchText").val());
$("#searchText").val("");
$("#searchBtn").toggleClass("searchBtnClick");
});
}); </script>
</head>
<body>
<div> <div align="center">
<img src="https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png"
width="270px" height="179px" id="logo_icon">
</div>
<div align="center" id="bottomDiv">
<h3>百度搜索</h3>
<input type="text" name="search" value="" id="searchText" align="center">
<input type="button" name="search_btn" value="百度一下" id="searchBtn" class="searchBtnNormal">
</div>
</div> </body>
</html>
节点元素操作
- 创建节点元素
- 插入节点
- 复制节点
- 删除节点
- 替换节点
- 包裹节点
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<style type="text/css">
.bandDiv {
float: left;
font-size: 15px;
} </style>
<script type="text/javascript">
$(function () {
$("h5").click(function () {
var $jdDiv = "<div class='bandDiv' id='jd'><img src='https://ss1.bdstatic.com/lvoZeXSm1A5BphGlnYG/icon/95541.png' alt='品牌'>京东</div>";
//向所选择的元素中插入元素
$("#contentDiv").append($jdDiv);
//将选中元素中插入到目标元素
// $($jdDiv).appendTo("#contentDiv");
var $tbDiv = "<div class='bandDiv' id='tb'><img src='https://ss2.bdstatic.com/lfoZeXSm1A5BphGlnYG/icon/10062.png' alt='品牌'>淘宝</div>";
//向所选择的元素中最前面插入元素
$("#contentDiv").prepend($tbDiv);
//将选中元素中插入到目标元素最前面
// $($tbDiv).prependTo("#contentDiv");
var $nmDiv = "<div class='bandDiv' id='nm'><img src='https://ss3.bdstatic.com/lPoZeXSm1A5BphGlnYG/icon/9483.png' alt='品牌'>糯米</div>";
//向所选择的元素外部后面插入元素
$("#tb").after($nmDiv);
var $ddDiv = "<div class='bandDiv' id='dd'><img src='https://ss1.bdstatic.com/lvoZeXSm1A5BphGlnYG/icon/95517.png' alt='品牌'>当当</div>";
//向所选择的元素外部前面插入元素
$("#tb").before($ddDiv);
//每个被选元素后面插入一个已有元素
$("#tb").insertBefore($("#jd"));
// 每个被选元素前面插入一个已有元素
$("#nm").insertAfter($("#tb"));
//复制节点
var $vp = $("#tb").clone(true).attr({"id": "vp"});
$("#nm").before($vp);
$("#vp >img").attr("src", "https://ss1.bdstatic.com/lvoZeXSm1A5BphGlnYG/icon/95693.png");
//替换节点
$("#vp").replaceWith("<div class='bandDiv' id='vp'><img src='https://ss1.bdstatic.com/lvoZeXSm1A5BphGlnYG/icon/95517.png' alt='品牌'>唯品会</div>");
//所有选择的元素用加粗包裹起来
$("#contentDiv >div").wrap("<b></b>");
//遍历元素
$("#vp").each(function () {
$("#vp >img").attr("src", "https://ss1.bdstatic.com/kvoZeXSm1A5BphGlnYG/icon/93289.png");
});
//删除节点
$("#nm").remove();
}); }); </script>
</head>
<body> <div>
<h5>动态添加元素</h5> <div id="contentDiv"> </div>
</div> </body>
</html>
总结:
今天简单学习使用了一下JQuery操作DOM元素的一些语法。
Hybrid App开发之jQuery操作DOM的更多相关文章
- Hybrid App开发之jQuery基础
前言: 前面学习了JavaScript/Html/Css的基础知识,今天学习一下常用js框架jQuery的使用进行快速的开发. JQuery的基本功能: 方位和操作DOM元素 控制页面样式 对页面事件 ...
- Hybrid App开发之jQuery选择器
前言: 前面学习了JQuery的简单使用,今天进一步学习一下JQuery的选择器. 什么是选择器? JQuery选择器通过标签名.属性名或者内容对DOM元素进行快速准确的选择,而不必担心浏览器的兼容性 ...
- Hybrid App开发之JavaScript基础
前言: 前面学习了html和css的基本使用,今天开始学习JavaScript的使用. 什么是JavaScript JavaScript是一种基于对象(Object)和事件驱动(Event Drive ...
- Hybrid App开发之css样式使用
前言: 前面学习了html,今天学习一下css的基本使用,看下html与css之间是如何结合来编写前端网页的. CSS 是什么? CSS 是 Cascading Style Sheets(级联样式表) ...
- Hybrid App开发之Html基本标签使用
前言: 前面简单学习了html简单标签的使用,今天学习一下其他的标签的使用. HTML的超链接 1.)创建一个超链接 <div> <p> <a href="ht ...
- jQuery操作Dom、jQuery事件机制、jQuery补充部分
jQuery操作Dom: 修改属性: //使用attr()方法 //attr(name, value) //name:要修改的属性的属性名 //value:对应的值 //attr方法,如果当前标签有要 ...
- web进阶之jQuery操作DOM元素&&MySQL记录操作&&PHP面向对象学习笔记
hi 保持学习数量和质量 1.jQuery操作DOM元素 ----使用attr()方法控制元素的属性 attr()方法的作用是设置或者返回元素的属性,其中attr(属性名)格式是获取元素属性名的值,a ...
- jQuery框架-2.jQuery操作DOM节点与jQuery.ajax方法
一.jQuery操作DOM 内部插入操作: append(content|fn):向每个匹配的元素内部追加内容. prepend(content):向每个匹配的元素内部前置内容. 外部插入操作: af ...
- 第四章 使用jQuery操作DOM
第四章 使用jQuery操作DOM 一.DOM操作 在jQuery中的DOM操作主要可分为样式操作.文本和value属性值操作.节点操作: 节点操作又包含属性操作.节点遍历和CSS-DOM操作. 其中 ...
随机推荐
- POJ 3311---Hie with the Pie(状压DP)
题目链接 Description The Pizazz Pizzeria prides itself in delivering pizzas to its customers as fast as ...
- http工具类
/** * 发送post请求工具方法 * * @Methods Name HttpPost * @Create In 2014年10月28日 By wangfei * @param url * @pa ...
- OC中Foundation框架之NSDictionary、NSMutableDictionary
NSDictionary概述 NSDictionary的作用类似:通过一个key ,就能找到对应的value 同样 NSDictionary是不可变的,一旦初始化完毕,里面的内容就无法修改 NSDic ...
- python课程第一天笔记-la
http://www.cnblogs.com/onda/ ----------------------20170423 一:Cpython pypy 区别 等;Cpython 是一行一行解释, ...
- 更快的理解js中循环嵌套
[循环控制语句] break语句:终止本层循环,继续执行循环后面的语句:(当循环有多层时,break只会跳出一层循环) continue语句:跳过本次循环,继续执行下次循环: (对于for循环,con ...
- ZED 相机 && ORB-SLAM2安装环境配置与ROS下的调试
注:1. 对某些地方进行了更新(红色标注),以方便进行配置. 2. ZED ROS Wrapper官方github已经更新,根据描述新的Wrapper可能已经不适用与Ros Indigo了,如果大家想 ...
- Gulp文档入门的文档
Gulp自动化执行文件的操作 首先gulp基于node开发的,先按照node.js,使用npm sudo npm install -g gulp (在全局的范围安装 gulp) gulp --help ...
- gitlab 添加SSH Key
1.登录http://domain/users/sign_in 2.选择"Profile Settings",进入"Profile Settings"设置页面 ...
- 第三方登录SDK
紧接着上次的第三方登录文档,这一波又来了. 一.使用qq登录https://connect.qq.com/ 首次登录的话会跳转到应用开发者注册,自己测试的话选择个人.下面的各项自己按真实情况填写. 注 ...
- Error:No such property: GROUP for class: org.gradle.api.publication.maven.internal.deployer.DefaultGroovyMavenDeployer
注:参考:http://stackoverflow.com/questions/28450549/errorno-such-property-group-for-class-org-gradle-ap ...