精华内容
下载资源
问答
  • js获取json对象及值

    千次阅读 2019-07-25 14:06:11
    碰到一个问题,就是遇到{"1",:"a"},{"2","b"}这种json对象,键不固定,然后就不知道怎么取了,监视器下面是个object,没有什么属性方法。下面是网上搜到答案: d = {'1': 'a', '2': 'b'} for(i in d) { i 就是...

     给select 添加省份,解析json数据。下边网上搜的答案

    碰到一个问题,就是遇到{"1",:"a"},{"2","b"}这种json对象,键名不固定,然后就不知道怎么取了,监视器下面是个object,没有什么属性方法。下面是网上搜到的答案:
    
    d = {'1': 'a', '2': 'b'}
    for(i in d)
    {
       i 就是键,d[i]就是值
    }

    对json和数组的读取还是很有问题,还得继续努力学啊。

     

    var provinceList = {
                110000: '北京市',
                120000: '天津市',
                130000: '河北省',
                140000: '山西省',
                150000: '内蒙古自治区',
                210000: '辽宁省',
                220000: '吉林省',
                230000: '黑龙江省'
    
    }
    
     for (e in provinceList) {
    
        tpl += '<option value="' +e + '">' + provinceList[e] + '</option>';
    
     }
    
     $('#provid').append(tpl);

     

    展开全文
  • DOM独立于具体编程语言,...getElementById(id) (document) 获取有指定惟一ID属性值文档中元素getElementsByTagName_r(name) 返回当前元素中有指定标记名的子元素数组hasChildNodes() 返回一个布尔值,指示元...

     DOM独立于具体的编程语言,通常通过JavaScript访问DOM,不过并不严格要求这样。可以使用任何脚本语言来访问DOM,这要归功于其一致的API。
    getElementById(id) (document) 获取有指定惟一ID属性值文档中的元素
    getElementsByTagName_r(name) 返回当前元素中有指定标记名的子元素的数组
    hasChildNodes() 返回一个布尔值,指示元素是否有子元素getAttribute(name) 返回元素的属性值,属性由name指定有了W3C DOM,就能编写简单的跨浏览器脚本,从而充分利用XML的强大功能灵活性,将XML作为浏览器和服务器之间的通信介质。有了W3C DOM,就能编写简单的跨浏览器脚本,从而充分利用XML的强大功能和灵活性,将XML作为浏览器和服务器之间的通质。 

    网页正文宽度和高度

    宽度:document.body.scrollWidth

    高度:document.body.scrollHeight 

    有文档声明:IE8和FF5高度可能小于可见区域高度,Chrome12大于等于可见高度

    无文档声明:IE8高度可能小于可见区域高度,FF5和Chrome12大于等于可见区域高度

    .网页可见区域宽度和高度

    宽度:document.body.clientWidth

    高度:document.body.clientHeight

    有文档声明时:宽度为网页可见区域高度,高度可能小于可见区高度

    无文档声明时:宽度为网页可见区域高度,高度大于等于可见区高度

    以上就是我对怎么操作DOM,,怎么获取DOM对象的理解,还有怎么获取浏览器的宽高的理解,希望能对大家产生帮助。

    转载于:https://www.cnblogs.com/2460403802q/p/5858034.html

    展开全文
  • js对象

    2019-09-11 17:42:27
    对象(复合数据类型) 对象:描述一个事物 特征和行为 整体 ...属性名 获取属性对象名.方法名() 调用 方法 外部设置 属性 和方法: 对象名.属性名=值 (如果属性不存在,新增一个属性,存在...

    对象(复合数据类型)

    对象:描述一个事物 的特征和行为 整体
    特征:属性
    行为:方法
    系统对象:数组 日期 正则 函数
    自定义对象
    var 对象名={
    	属性:值,
    	属性2:值2,
    	方法:function(){}
    }
    怎么使用 属性 和方法:
    对象名.属性名  获取属性的值
    对象名.方法名()  调用 方法
    外部设置 属性 和方法:
    对象名.属性名=值   (如果属性不存在,新增一个属性,存在,更改属性的值)
    对象名.方法名=function(){} 方法存在,覆盖原来的方法,不存在,增加一个方法
    

    Math对象

    Math对象所有的api,都不支持new一个对象来使用,而是直接通过构造函数来使用
    Math.random()
    

    Math对象常用api

    • Math.random() //返回0-1之间的随机数 [0,1)

    • Math.round(3.6) //四舍五入 4

    • 随机数如何设定范围

      固定套路:任意 min max之间取随机整数

      Math.floor(Math.random()*(max-min)+min);

    0-10之间的数
    5-10之间的数
    10-20之间的数

    • max(num1, num2) //返回较大的数
    • min(num1, num2) //返回较小的数
    • abs(num) //绝对值
    • ceil(19.3) //12 向上取整
    • floor(11.8) //11 向下取整
    • Math.PI // π值;
    • Math.pow(底数,幂数) Math.pow(2,3)

    Date对象

    日期对象的创建

    类型使用自 CTU(Coordinated Universal Time,国际协调时间)1970 年 1 月 1 日午夜(零时)开始经过的毫秒数来保存日期。Date 类型保存的日期能够精确到 1970 年 1 月 1 日之前或之后的 285616 年。

    • var d=new Date( );` 不传递任何参数默认返回当前时间

    • var d=new Date( '2015/12/2'); 在传入参数的情况下,获得的是传入的时间

        01,不传参
         		var now = new Date()  //当前时间
        02,传参  自定义时间
        	传字符串
        	var date = new Date("2019/11/11[ 12:12:12]");
        	传数字  多个参数
        	var date = new Date(yyyy,MM,dd,hh,mm,ss);//月份-1
        	时间戳: 距离1970年1月1日毫秒数
        	日期对象      date.getTime()  获取时间戳
        	传一个时间戳
        	var date = new Date(时间戳);
      				
      

    日期对象常用api

    获取:
    d.getFullYear() 获取当前的四位数年份
    d.getMonth()  获取当前的月份 (从0开始)  +1
    d.getDate() 获取当前的日期
    getDay()  获取星期    0  - 6
    getHours() 获取时
    getMinutes() 获取分钟
    getSeconds() 获取秒
    设置:
    setFullYear()  设置年份  参数四位数年份
    setMonth()  设置月份    参数  0-11
    setDate()  设置 日期   ****   1-31
    
    五天以后的时间
    
    ...
    toString()
    toLocaleString()  转换成本地格式的时间
    toLocaleDateString()  转换成本地格式的时间 去掉 时分秒
    toGMTString() 格林尼治标准时间 世界时
    

    将日期格式化成字符串

     要求封装函数,实现格式化日期格式
    

    日期转为毫秒数

    • Date.parse("2015-08-24") 获取1970年到设定时间的毫秒数

    • Date.getTime()时间戳

      计算两个日期的时间差值

      function count(){
             var date1=new Date(2010,10,3);
             var date2=new Date(2017,9,24);
             var date=(date2.getTime()-date1.getTime())/(1000*60*60*24);/*不用考虑闰年否*/
             alert("相差"+date+"天");
         }
      

      日期差值;

        var date1 = new Date('2013/04/02 18:00')
        var date2 = new Date('2013/04/02 19:22:21')
        var s1 = date1.getTime(),s2 = date2.getTime();
        var total = (s2 - s1)/1000;
        var day = parseInt(total / (24*60*60));//计算整数天数
        var afterDay = total - day*24*60*60;//取得算出天数后剩余的秒数
        var hour = parseInt(afterDay/(60*60));//计算整数小时数
        var afterHour = total - day*24*60*60 - hour*60*60;//取得算出小时数后剩余的秒数
        var min = parseInt(afterHour/60);//计算整数分
        var afterMin = total - day*24*60*60 - hour*60*60 - min*60;//取得算出分后剩余的秒数
      

    事件对象

    类似于飞机的“黑匣子” 用于保存 一个事件发生的时候,所有的信息
    比如:事件发生时鼠标的坐标
    如何获取事件对象:
    	兼容性问题:在不同浏览器上 获取方法不一样
    	在IE 以及DOM标准:全局的对象(window下)  名字event
    	在高版本IE 以及 chrome 不支持event来获取事件对象的,另外一种方式
    		自动变成事件函数的第一个参数(这个参数就是事件对象)
    
    兼容性写法:
    	btn.onclick=function(ev){
    		var e = ev || event;
    	}
    

    注意:
    只有事件发生的时候,写在事件函数中,event保存的就是当前事件的所有的信息

    展开全文
  • 这种情况要怎么获取,我已经能获取到这个元素,但不是当前双击事件父元素,始终都是第一个父div元素,我要获取当前 前台父div页面,要获取的元素页面 ``` ['ptype']"> <case value="1">...
  • 下面讲讲怎么用原生js获取元素样式,返回元素当前所有css属性对象,即使给元素没有设置任何属性,也会把浏览器默认样式返回。 1.ele.style.attr 元素.style.属性名 需要把元素样式写在行内样式中才可以...

    在开发过程中,常常会碰到用js改变DOM元素的样式,方法有很多,可以更改元素的class,更改style属性。下面讲讲怎么用原生js获取元素的样式,返回元素当前的所有的css属性对象,即使给元素没有设置任何属性,也会把浏览器默认的样式返回。

    1.ele.style.attr

    元素.style.属性名

    需要把元素的样式写在行内样式中才可以(写在样式表中是获取不到的);写在样式表中会返回一个null.    而在实际项目中,这种方法不常用,不能为了获取样式而把所有的样式属性写在行内样式中。

    2.getComputedStyle()

    语法:window.getComputedStyle(obj,伪类) 

    obj:当前操作的元素对象

    伪类:伪类(伪类一般为:after 或者:before ;一般我们不用伪类,,使用null)

    getComputerStyle()方法返回一个CSSStyleDeclaration对象,其中包含当前元素的所有计算的样式。可以使用style.length获取默认样式的个数。

    例如:

    var box=document.getElementById('box');
    demo = window.getCOmputedStyle(box,null)
    //获取节点的宽度width 
    demo.width
    
    //也可以合并为
    boxWidth=window.getComputedStyle(box,null)["width"]

    **这个方法是FF浏览器和chrome浏览器使用。IE6-8不支持getComputedStyle()方法,需要使用obj.currentStyle。
    需要注意的是,即使有些浏览器支持这种功能,但表示值的方式可能会有所区别。例如,Firefox和Safari会返回将所有颜色转换成RGB格式。因此,即使getComputedStyle()方法时,最好多在几种浏览器中测试一下。

    3. ele.currentStyle

    语法:ele.currentStyle["attr"] 或ele.currentStyle.attr

    这个方法只支持IE6-8,不支持FF和chrome.

    getComputedStyle()和currentStyle方法的兼容写法:

    function getStyle(obj,attr) {
        if(obj.currentStyle){
            return obj.currentStyle[attr];
        }else{
            return getComputedStyle(obj,false)[attr];
        }
        
    }

    这个方法可以应用到实际项目当中去,它兼容IE、FF、chrome。

     

    请看下面更严谨的方法:

    /*
          curEle:[object] 当前要操作的元素对象 
          attr:[string] 我们要获取的样式属性的名称
          1、使用try、catch来处理兼容(只有在不得已的情况下)
            前提:必须保证try中的代码在不兼容的时候报错,这样才可以catch捕获到错误信息,进行其他的处理
            不管当前的浏览器是否支持这个方法,都需要把try中的代码执行一遍,如果当前是IE7,window.getComputedStyle不兼容,但是也需要执行一遍再执行catch里面的代码,执行了两遍,消耗性能,
          2、判断当前浏览器中是否存在这个属性或者方法,存在就兼容,不存在就不兼容
          3、通过检测浏览器版本和类型来处理兼容 window.navigator.userAgent
          获取当前浏览器是IE6-8
          
        */
        function getCss(curEle,attr){
          var val = null;
          //方法2
          if("window.getComputedStyle" in window){//或者window.getComputedStyle
            var = window.getComputedStyle(curEle,null)[attr];
          }else{
            var = curEle.currentStyle[attr];
          }
          //方法1
          try{
            var = window.getComputedStyle(curEle,null)[attr];
          }catch(e){
            var = curEle.currentStyle[attr];
          }
          //方法3
          if(/MSIE (6|7|8)/.test(navigator.userAgent)){
            var = curEle.currentStyle[attr];
          }else{
            var = window.getComputedStyle(curEle,null)[attr];
          }
          return val;    
        }

    标准浏览器和IE浏览器获取的结果还是不一样的->对于部分样式属性,不同浏览器获取的结果不一样,主要是由于getComputedStyle和currentStyle在某些方面不一样

    对于复合的样式值可以拆开来获取

    console.log(getCss(box,"marginTop"))

    上面的getCss还没有写完,下面进行第一次升级:把获取的样式值“单位去掉”(只有符合“数字+单位/数字”才可以使用parseFloat)

    function getCss(curEle,attr){
          var val = null;
          var reg = null;
          if(/MSIE (6|7|8)/.test(navigator.userAgent)){
            var = curEle.currentStyle[attr];
          }else{
            var = window.getComputedStyle(curEle,null)[attr];
          }
          reg = /^(-?\d+(\.\d+)?)(px|pt|rem|em)?$/i;
    
          return reg.test(val)?parseFloat(val):val; //这样写肯定不行,对于某些样式属性的值是不能获取到的

    对于opacity这个属性,在IE和其他浏览器中是不一样的;

    function getCss(curEle,attr){
          var val = null;
          var reg = null;
          if(/MSIE (6|7|8)/.test(navigator.userAgent)){
            if(attr==="opacity"){
              val = curEle.currentStyle["filter"];
              //把获取到的结果剖析,获取里面的数字,让数字除以100才和标准浏览器保持一致
              reg = /^alpha\(opacity=(\d+(?:\.\d+)?)\)$/i;
              val = reg.test(val)?reg.exec(val)[1]/100:1
    
            }else{
              val = curEle.currentStyle[attr];
            }        
          }else{
            //如果传递进来的结果是opacity,说明我想获得的是透明度,但是在IE6-8下获取透明度需要使用filter
            val = window.getComputedStyle(curEle,null)[attr];
          }
        }

    上面的内容部分转载自:https://www.jb51.net/article/117864.htm

    4.getPropertyValue()

    语法:   window.getComputedStyle(element, null).getPropertyValue(属性)

          var test = document.getElementById('test');
    
          window.getComputedStyle(test, null).getPropertyValue("background-color");

    **属性名不支持驼峰法,IE6-8不支持该方法,只

    5.getAttribute

    getAttribute与getPropertyValue类似,有一点的差异是属性名驼峰格式。

         var test = document.getElementById('test');
    
            window.getComputedStyle(test, null).getPropertyValue("backgroundColor");

    **这个方法只支持IE6-8。

    展开全文
  • 一个对象存储键值对 id: 'list' }, children: [ // 该节点子节点 {tagName: 'li', props: {class: 'item'}, children: ["Item 1"]}, {tagName: 'li', props: {...
  • 此规范内算法在处理每个值时都有一个关联类型。可能值类型都定义在这个条款中。类型可以进一步分为 ECMAScript 语言类型和规范类型。 ECMAScript 语言类型和使用ECMAScript语言程序员处理值相符。...
  • 下面提供了一个简单自定义按钮和自定义弹窗示例,如果有更多二次开发需求,你可以参考官方 API 或者 UEditor 源码 中示例。 自定义按钮 Demo <vue-ueditor-wrap v-model="msg" @before-init=...
  • jsDOM什么是DOM怎么操作练习练习从一个地方发送数据从另一个地方接受,再从中间文本框进行显示。 什么是DOM DOM是文档对象模型 Document object Model 我们可以通过DOM动态改变文档内容。 动态改变文档内容...
  • 所有的属性名都是一个字符串,任意一个程序都可以简单地通过访问属性名获取相应的对象属性。例如,for...in循环、ES5的Object.keys()和Object.getOwnPropertyNames()函数等特性都能轻易地获取对象的所有属性名。 ...
  • action 函数必须返回一个带有 type 属性的 <code>plain object。 <pre><code> javascript //actions.js //添加 item 只需要一个 text 字符串数据 export function addItem(text) { return { type: 'ADD_ITEM&#...
  • --我们做了优化,现在要使一个Asp.net的按钮能够AJAX提交,你不需要做任何设置(PageManager的属性EnableAjax为true即可,这是默认属性)。 +PageManager的实例方法AddAjaxUpdateControl改名为...
  • 这也意味着所有的全局变量或者方法都是window对象的属性或方法。当一个函数在被调用的时候都会创建自己的执行环境,而这个函数中所写的代码就开始进入这个函数的执行环境,于是由变量对象构建起了一个...
  • 一个对象的原型可以通过 obj.constructor.prototype 获取,但是如果重写了 constructor 很显然就无法这样获取了,则用 Object.prototype 替换。这样比如说重写了 toString,我们只需要比较 obj....
  • 在XML中,就是要将网页也作为一个对象来操作和控制,我们可以建立自己的对象和模板。与对象进行交流,如何命令对象,就要用到API。API全称Application Programming Interface,它是访问和操作对象的规则。而DOM就是...
  • 在这儿<code>require后面紧跟一个对象(只在<code>.component()方法中require字段后面接对象),当<code>require和<code>.directive()结合使用时候,require字段后面也可以跟数组或者...
  • *第一个参数是索引名,第二个是作为索引的属性名,第三个设置索引特性 */ objectStore.createIndex("name", "name", { unique: false }); } } openRequest.onsuccess = function(e) { //e.target....
  • asp.net知识库

    2015-06-18 08:45:45
    动态调用对象的属性和方法——性能和灵活性兼备的方法 消除由try/catch语句带来的warning 微软的应试题完整版(附答案) 一个时间转换的问题,顺便谈谈搜索技巧 .net中的正则表达式使用高级技巧 (一) C#静态成员和...
  • 类别侧边栏实现后,需要为每一个类别元素都添加一个id,通过id来获取数据库中数据,用Ajax获取数据并且刷新页面信息。采用分页技术,防止数据过多时候,显示在同一个页面,给用户带来不好体验,分页支持...
  • 3、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 56 4、线程的基本概念 57 5、什么是多线程 57 6、程序、进程、线程之间的关系 57 7、创建线程有几种方式,分别是什么? ...
  • ExtAspNet_v2.3.2_dll

    2010-09-29 14:37:08
    +TreeNode的属性NodeId被重命名为NodeID,这是ExtAspNet中的一个命名约定。 -同时更名的还有GridColumn的ColumnId->ColumnID,GetColumnId->GetColumnID。 -Grid1.Columns.FindColumnById函数被Grid1.Find...
  • 全面理解 koa-router

    2020-12-09 01:54:42
    注意这里的 stack 和 Router 里面的 stack 是不一样的, Router 的 stack 数组是存放每个路由对应的 Layer 实例对象的, 而 Layer 实例对象里面的 stack 数组是存储每个路由的处理函数中间件的, 换言之, 一个路由可以...
  • VUE常用方法整理.pdf

    2020-03-28 22:56:18
    2. 常用指令有哪些,及怎么使用这些指令 6 第四节 阐述vue单双向数据流及事件绑定 6 1. vue单向数据流绑定属性值 v-bind: (属性) 简写 :(属性) 6 2. vue双向数据流 v-model 只作用于有value属性的元素 7 3. 事件...
  • c 两个对象的键值对分别覆盖到 a 上。 那么问题来了,如何设计这三个用途相似的 api?我们来看看 underscore 是怎么做的。 <pre><code> javascript _.extend = createAssigner(_.allKeys); _....
  •  .SetReferenceId(Guid.NewGuid().ToString("N")) // 添加一个不包含CreditCardNumber属性的对象信息  .AddObject(order, "Order", excludedPropertyNames: new [] { "CreditCardNumber" }, maxDepth: ...
  • vc++ 应用源码包_1

    热门讨论 2012-09-15 14:22:12
    压缩包内有两个源码包,一个是注册机源程序,另一个是解密机源程序,一套完整参考实例。 VC+MapX源码含GPS跟踪演示 VC3D 利用VC编程在界面上实现3D文字 在MFC应用程序中浏览PDF、Word文档文件 vcdialog 自...
  • vc++ 应用源码包_2

    热门讨论 2012-09-15 14:27:40
    压缩包内有两个源码包,一个是注册机源程序,另一个是解密机源程序,一套完整参考实例。 VC+MapX源码含GPS跟踪演示 VC3D 利用VC编程在界面上实现3D文字 在MFC应用程序中浏览PDF、Word文档文件 vcdialog 自...

空空如也

空空如也

1 2 3
收藏数 41
精华内容 16
关键字:

怎么获取一个对象的属性名js