js如何获取动态的id

JavaScript010

js如何获取动态的id,第1张

1、新建一个html文件,命名为test.html。

2、在test.html文件中,使用script标签加载jquery.min.js文件,成功加载该文件,才能使用jquery方法。

3、在js标签内,在页面加载完成时,获取body对象,使用append()方法向body动态添加一个div元素。

4、在test.html文件中,使用button标签创建一个按钮,按钮名称为“获取id值”。

5、在test.html文件中,给button按钮绑定onclick点击事件,当按钮被点击时,执行getid()函数。

6、在js标签内,创建getid()函数,在函数内,通过元素名称获得div对象,使用attr()方法获得动态添加div的id值,并使用alert()方法将值输出。

7、在浏览器打开test.html文件,点击按钮,查看结果。

方法有两种:

1、通过jquery的方式,使用id选择器方式获取节点,然后获取值。

2、通过原生的dom方式,获取id的值。

每一个HTML元素都使用id来进行一个标注,随后可以通过document.getElementById(“ID名称”)取得指定的ID元素对象,取得元素对象之后就可以对其进行操作。

但是document.getElementById()只能取得一个元素信息。

document.getElementById(“id”) 获取到的是整个对象。

document.getELementById(“id”).innerHTML;才可以获取到其中的内容。

document.getElementById('con')获取的只是P标签,返回的[objectHTMLParagraphElement]。

document.getElementById('con').innerHTML获取的才是P标签里的内容,返回的是JavaScript。

扩展资料:

JavaScript脚本语言具有以下特点:

(1)脚本语言。JavaScript是一种解释型的脚本语言,C、C++等语言先编译后执行,而JavaScript是在程序的运行过程中逐行进行解释。

(2)基于对象。JavaScript是一种基于对象的脚本语言,它不仅可以创建对象,也能使用现有的对象。

(3)简单。JavaScript语言中采用的是弱类型的变量类型,对使用的数据类型未做出严格的要求,是基于Java基本语句和控制的脚本语言,其设计简单紧凑。

(4)动态性。JavaScript是一种采用事件驱动的脚本语言,它不需要经过Web服务器就可以对用户的输入做出响应。在访问一个网页时,鼠标在网页中进行鼠标点击或上下移、窗口移动等操作JavaScript都可直接对这些事件给出相应的响应。

(5)跨平台性。JavaScript脚本语言不依赖于操作系统,仅需要浏览器的支持。因此一个JavaScript脚本在编写后可以带到任意机器上使用,前提上机器上的浏览器支持JavaScript脚本语言,目前JavaScript已被大多数的浏览器所支持。

不同于服务器端脚本语言,例如PHP与ASP,JavaScript主要被作为客户端脚本语言在用户的浏览器上运行,不需要服务器的支持。所以在早期程序员比较青睐于JavaScript以减少对服务器的负担,而与此同时也带来另一个问题:安全性。

而随着服务器的强壮,虽然程序员更喜欢运行于服务端的脚本以保证安全,但JavaScript仍然以其跨平台、容易上手等优势大行其道。

同时,有些特殊功能(如AJAX)必须依赖Javascript在客户端进行支持。随着引擎如V8和框架如Node.js的发展,及其事件驱动及异步IO等特性,JavaScript逐渐被用来编写服务器端程序。

参考资料来源:百度百科-javascript

js把id存到浏览器本地的方法:浏览器的cookie可以用来存储一些少量的网站信息,比如登录的用户名,用于提高用户体验非常有帮助

有的一些网站在第一次登录后,在指定的时间范围内容,下次在打开网站,再次登录时,不用每次都重新输入用户名的

或在做一些购物车效果时,也可以使用cookie,保持一个状态持续多长时间的

具体示例代码

代码如下所示,以Vue为示例

<template><div class="wrap"><div class="content"><el-form ref="form" :model="form" label-width="100px"><el-form-item label="用户名"><el-input v-model="form.name" class="input" clearable></el-input></el-form-item><el-form-item label="密码"><el-input type="password" class="input" v-model="form.pass" clearable></el-input></el-form-item><el-form-item label="记住用户名"><el-radio-group v-model="form.date" size="mini" @change="handleCheck" class="el-radio-group"><el-radio :label="3" border>保存3天</el-radio><el-radio :label="7" border>保存7天</el-radio><el-radio :label="10" border>保存10天</el-radio><el-radio :label="30" border>保存30天</el-radio></el-radio-group></el-form-item><el-form-item class="login"><el-button type="primary" @click="onLogin">登录</el-button></el-form-item></el-form></div></div>

</template>

<script>export default {data() {return { form: {name: '',pass: '',date: 7,}}},mounted() {this.getCookie('username')console.log(this.form.name)},methods: {handleCheck(val) {console.log(val)this.form.date = val// 多少天以后失效,这里默认设置的是7天,需要转化成时间戳秒},// 设置cookie,包括key名,value,值,过期时间expiredayssetCookie(user,val,expiredays) {// 把用户名保存进cookie里面document.cookie = `${user}=${val}`var exdate = new Date()// 当前时间exdate.setTime(exdate.getDate() + expiredays*24*3600*1000)// 设置时间,多少天失效// 设置为新的值document.cookie += `'expires='${exdate.toGMTString()}`// 根据格林威治时间 (GMT) 把 Date 对象转换为字符串,并返回结果 console.log(document.cookie) }, getCookie() { // 提取当前的cookie let c = document.cookie// 提取key为username的cookie值 if(c != '' &&c.indexOf('username') >-1) {var arr = c.split('')// 以分号,将cookie进行拆分存到一个arr数组中for(var i = 0i<arr.lengthi++) { // 遍历数组arr var key_val = arr[i].split("=")// 获取key和val if(key_val[0] == 'username') { // 设置cookie的值到输入框this.form.name = key_val[1]}} }},onLogin() {const user = 'username'const {name,date} = this.formif(name) { this.setCookie(user,name,date)this.$message({message: `用户名的cookie已经设置成功,刷新页面时仍然是显示的,保存${date}天时间`,type: 'success',duration: '5000'})console.log('submit!')}else {this.$message.error('用户名不能为空')}}},}</script>

<style>.wrap {text-align: left}.content {margin: 10px autodisplay: flexjustify-content: center}.el-radio-group {display:flexjustify-content: left}.login {text-align: left} </style>

1

2

3

4

5

1

2

3

4

5

以上本示例中的源码,其中核心代码设置cookie如下所示

// 如果是在原生js里,需要写function,上面的是vue的代码,省略了function 的

function setCookie(user,val,expiredays) {// 把用户名保存进cookie里面document.cookie = `${user}=${val}`var exdate = new Date()// 当前时间exdate.setTime(exdate.getDate() + expiredays*24*3600*1000)// 设置时间,多少天失效// 设置为新的值document.cookie += `'expires='${exdate.toGMTString()}`// 根据格林威治时间 (GMT) 把 Date 对象转换为字符串,并返回结果

}

1

2

3

1

2

3

设置cookie主要需要有cookie名,它是键值对的,还需要一个设置一个过期时间

使用document.cookie可以读取cookie,也可以重新设置cookie

而获取cookie,需要将从cookie中拿到指定的cookie,需要通过split,先拆,然后在获取指定的cookie值,重新在设置值的,更多的新手同学,可能就是卡在怎么去拆的,然后取到对应的值的,其实,代码也很简单

具体代码如下所示

function getCookie() { // 提取当前的cookie let c = document.cookie// 提取key为username的cookie值 if(c != '' &&c.indexOf('username') >-1) {var arr = c.split('')// 以分号,将cookie进行拆分存到一个arr数组中for(var i = 0i<arr.lengthi++) { // 遍历数组arr var key_val = arr[i].split("=")// 获取key和val if(key_val[0] == 'username') { // 设置cookie的值到输入框this.form.name = key_val[1]// 这里就是在重新赋值,将cookie获取到的val进行赋值 }} }

},

1

2

1

2

总结

cookie它是浏览器document下的属性,是一种机制,只是提供了一个接口给js脚本进行使用,通过添加cookie以及expires达到保存多少天的效果

cookie的用途比较多,可以与服务器端进行交互,cookie的值是会随着表单的提交发送到服务器的,所以它可以作为一些特殊的字段来使用的

比如:服务端的session就需要依赖cookie