首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在本地运行代码时,即使值存在,getAttribute(值)也会返回null

在本地运行代码时,即使值存在,getAttribute(值)也会返回null。

getAttribute()是JavaScript中用于获取HTML元素的属性值的方法。它接受一个参数,即要获取的属性名,并返回该属性的值。然而,当在本地运行代码时,即使该属性存在,getAttribute()方法也会返回null。

这是因为在本地运行代码时,JavaScript代码是在浏览器的上下文中执行的。而在浏览器上下文中,getAttribute()方法只能获取HTML元素在DOM树中的初始属性值,而不能获取通过JavaScript动态修改后的属性值。

举个例子来说明,假设有一个HTML元素如下:

代码语言:txt
复制
<div id="myDiv" data-value="123"></div>

在本地运行以下代码:

代码语言:txt
复制
var myDiv = document.getElementById("myDiv");
var value = myDiv.getAttribute("data-value");
console.log(value);

在浏览器上运行时,控制台会输出"123",因为getAttribute()方法成功获取到了data-value属性的初始值。然而,在本地运行时,控制台会输出null,因为getAttribute()方法无法获取到通过JavaScript动态修改后的属性值。

如果想要获取通过JavaScript动态修改后的属性值,可以直接通过元素对象的属性来获取,例如:

代码语言:txt
复制
var myDiv = document.getElementById("myDiv");
var value = myDiv.dataset.value;
console.log(value);

这样,在本地运行时,控制台会输出"123",因为dataset属性可以直接获取到通过JavaScript动态修改后的属性值。

总结起来,当在本地运行代码时,即使值存在,getAttribute(值)也会返回null。如果想要获取通过JavaScript动态修改后的属性值,可以使用元素对象的属性来获取。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何使用 HTML、CSS 和 Vanilla JavaScript 以及本地存储创建待办事项应用程序

如果用户没有输入,我们将返回:这将防止在用户没有输入任何向列表中添加空任务或执行不必要的操作 const taskBtn = document.querySelector(".add-btn"...最后,我们获取 li 元素的 data 属性并将其存储名为 的变量中taskId。我们实现本地存储时会用到这个 编辑任务 定义一个名为 的函数editTask()。...如果没有找到元素,则返回-1 如果taskIndex不是-1,我们使用该taskIndex来获取当前任务,代码如下allTasks[taskIndex].task const newTask = prompt...本地存储功能 即使添加任务后,刷新页面后它们消失。为了持久存储,我们将添加本地存储功能。 本地存储是一个允许您在浏览器中存储数据的对象。数据以键值对的字符串形式存储。...即使关闭浏览器后,存储浏览器中的数据仍然存在。只有清除缓存后,它才会被删除。 将此功能添加到我们的项目中将允许添加的数据即使刷新或关闭页面后能保留。

11910

JS魔法堂:属性、特性,傻傻分不清楚

但不幸的是,浏览器并不这样理解,即使符合W3C标准规范不是这样。 三、W3C规定Property和Attribute含义                      看看图更健康 ?  ...Attr节点的为字符串(IE567除外),因此通过setAttribute等赋予非字符串类型的进行隐式类型转换。...(nakeNode[prop] === void 0 && nakeNode.getAttribute(prop) === null); }   非standard attribute未赋值,点方式访问返回...undefine,而getAttribute方式访问返回null。  ...而standard attribute未赋值,点方式访问返回属性的默认(title、id等返回空字符串,而checked返回false),而getAttribute方式访问返回null

1.8K70
  • request对象获取数据的方法_request对象的运用方法

    进行请求转发,需要把一些数据传递到转发后的页面进行处理,需要使用request对象的setAttribute方法将数据保存到request范围内的变量中 使用: request对象可以视为一个域,...创建deal1.jsp文件,该文件中通过request对象的getAttribute()方法获取保存在request范围内的变量result并输出,由于getAttribute()方法的返回为Object...request对象同时也是一个域对象,开发人员通过request对象实现转发,把数据通过request对象带给其它web资源处理 setAttribute方法 getAttribute方法 removeAttribute...// 重定向是两次请求 不能获取到request域中的 // 重定向既可以访问本地服务器 可以访问非本地服务器 response.sendRedirect...被清除) 可以保存在硬盘中(结束回话 依然存在 就是文件) 当浏览器再一次请求购物车时会携带之前保存的cookie 去访问 每个网站可以保存20个cookie整个浏览器可以保存300个 第一次访问服务器不会携带

    1.8K30

    从原理层面掌握@ModelAttribute的使用(使用篇)【享学Spring MVC】

    前言 上篇文章 描绘了@ModelAttribute的核心原理,这篇聚焦在场景使用上,演示@ModelAttribute不同场景下的使用,以及注意事项(当然有些关联的原理涉及)。...它在执行功能处理方法(@RequestMapping 注解的方法)之前,自动添加到模型对象中,用于视图页面展示使用; 暴露@RequestMapping方法返回为模型数据:放在功能处理方法的返回...,是暴露功能处理方法的返回为模型数据,用于视图页面展示使用。...原因:BeanUtils.instantiateClass(ctor, args)创建对象最多args是[null,null]呗,不会报错嘛(so需要注意:如果你是入参是基本类型int那就报错啦~~...(注意void、null这些返回是不会放进去的~) 标注方法的入参上 该使用方式应该是我们使用得最多的方式了,虽然原理复杂,但对使用者来说还是很简单的,略。

    1.6K20

    JSP九大内置对象

    setHeader(String headername, String value):此方法使用指定的头名字以及相应的来设置头信息。如果此头信息已经设置,则新的覆盖掉旧的。...但是它们之间还是有区别的,一般来说,一个用户对应着一个session,并且随着用户的离开session中的信息消失,所以不同客户之间的会话必须要确保某一刻至少有一个客户没有终止会话;而applicat...当关闭以上运行的两个浏览器窗口,再多次交替地打开和关闭getappattr.jsp窗口,会看到计数值一直递增,只用tomcat服务不关闭。而session对象存储的信息随着窗口的关闭而释放。...Servlet初始化的时候,JSP引擎通过config向它传递信息。这种信息可以是属性名/匹配的参数,可以是通过ServletContext对象传递的服务器的有关信息。...getAttribute(String name, int scope):指定的范围内获取到相应的属性

    1.2K30

    JavaScript(十)

    注意,传递给 getAttribute() 的特性名与实际的特性名相同。如果给定名称的特性不存在getAttribute() 返回 null。...通过 getAttribute() 访问返回的 style 特性中包含的是 CSS 文本,而通过属性来访问它则会返回一个对象。 第二类与众不同的特性是 onclick 这样的事件处理程序。...当在元素上使用时,onclick 特性中包含的是 JavaScript 代码,如果通过 getAttribute() 访问,则会返回相应代码的字符串。...而在访问 onclick 属性,则会返回一个 JavaScript 函数(如果未在元素中指定相应特性,则返回 null)。...由于存在这些差别,通过 JavaScript 以编程方式操作 DOM ,开发人员经常不使用 getAttribute(),而是只使用对象的属性。

    68610

    Python中dir,hasattr,getattr,setattr,vars的使用

    二、getattr(object, name[, default]) 获取对象object的属性或者方法,如果存在则打印出来,如果不存在,打印默认,默认可选。...如果是对象没有的属性,我们可以设置默认,则getattr返回这个默认。 getattr获取对象的方法返回一个方法对象,我们可以像执行函数一样执行这个方法。 ?...print(vars(wo)) 运行结果: {'name': 'kitty', 'age': 18, 'height': 1.57} 继续使用上面的类,我们将setattr、getattr的代码注释掉,...然后打印对象的vars函数,返回结果是本地作用域中定义的属性和属性构成的字典。...也就是我们本地定义的类的属性,如果通过setattr给对象添加属性,则vars中会有添加的属性,返回的结果是属性名和属性构成的字典。 ?

    1.4K30

    动态资源技术JSP|Java与Html的美好相遇

    这样,web资源处理的就是用户各自的数据了 Session:将数据保存在服务端的技术 服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象,由于session为用户浏览器独享,所以用户访问服务器的...String name)会话范围内获取指定名字的属性的返回类型为object,如果该属性不存在,则返回null。...,返回;如果不存在返回null HttpSession session = request.getSession(false); if(session !...原因在于,程序的数据通常要美化后再输出,让jsp既用java代码产生动态数据,又做美化导致页面难以维护;让servlet既产生数据,又在里面嵌套html代码美化数据,同样导致程序可读性差,难以维护...被引入的文件可以使用任意的扩展名,即使其扩展名是html,JSP引擎按照处理jsp页面的方式处理它里面的内容。

    2.1K20

    使用request对象进行数据传递「建议收藏」

    进行请求转发,需要把一些数据传递到转发后的页面进行处理,需要使用request对象的setAttribute方法将数据保存到request范围内的变量中 使用: request对象可以视为一个域,...对象的getAttribute()方法获取保存在request范围内的变量result并输出,由于getAttribute()方法的返回为Object类型,所以需要调用其toString()方法将其转换为字符串类型...request对象同时也是一个域对象,开发人员通过request对象实现转发,把数据通过request对象带给其它web资源处理 setAttribute方法 getAttribute方法 removeAttribute...// 重定向是两次请求 不能获取到request域中的 // 重定向既可以访问本地服务器 可以访问非本地服务器 response.sendRedirect...被清除) 可以保存在硬盘中(结束回话 依然存在 就是文件) 当浏览器再一次请求购物车时会携带之前保存的cookie 去访问 每个网站可以保存20个cookie整个浏览器可以保存300个 第一次访问服务器不会携带

    88410

    学习zepto.js(对象方法)

    传入function与json都可以,只要是返回或者null,都会触发remove; removeAttr: removeAttr相当于(功能)是attr的一部分.但是代码实现是分开的.这个函数应用场景比较单一...—-如果this.length不存在.则说明不是一个zepto对象(理论上),如果数组中第一个对象的nodeType不为1,则说明不是节点对象.直接返回undefined —-否则就从调用该节点的getAttribute...来转换为bool.如果没有通过getAttribute方法取出来,并且该属性存在于节点, ——通过节点直接取值. ——否则直接返回getAttribute返回....方法本身无亮点,但是返回有三种; 一:   返回一个字符串,作为get返回; 二:   返回一个字符串数组,作为get返回; 三:   返回对象本身,作为set返回; 之所以会存在第二种情况...,那是因为select(下拉选项)是可以多选的.而开启多选的属性开关名字叫multiple; 当下拉选项开启多选,直接通过value属性只会取到第一个,其余的取不到.所以代码中就做了处理; 取出对象所有的

    2.6K90

    Spring源码分析(三)Spring是如何把元素解析成BeanDefinition对象的

    spring中解析元素最重要的一个对象应该就属于 BeanDefinition了;这个Spring容器中最基本的内部数据结构;它让xml文件中所有的配置有了一个归属的地方;xml中存在的配置都能在BeanDefinition...这个提示是注册bean使用的,这些bean完全是组件定义的内部工作的一部分 /** * 获取、设置该BeanDefinition的父Bean的名称 */ String...bean类的静态方法 /** * 获取、设置当前Bean的作用域或者为null(还不明确) */ String getScope(); void setScope...指定 的实例对象 *1.Spring有一种机制,可以动态的实现或重写bean容器中指定bean的指定方法,然后将返回指定为bean容器中的另一个bean...抛异常 //2.如果ref或者value存在 一个并且 subElement存在 抛异常 if ((hasRefAttribute && hasValueAttribute

    64260

    程序员的20大JSP面试问题及答案

    如果把服务器保存的class文件删除,服务器重新编译JSP。 开发Web程序时经常需要修改JSP。Tomcat能够自动检测到JSP程序的改动。如果检测到JSP源代码发生了改动。...; getAttribute()是获取对象容器中的数据; 从用途来看: getParameter()用于客户端重定向,即点击了链接或提交按扭用,即用于在用表单或url重定向传接收数据用。...这样getAttribute()就能取得你所设下的,当然这种方法可以传对象。session一样,只是对象在内存中的生命周期不一样而已。...getParameter()只是应用服务器分析你送上来的 request页面的文本,取得你设在表单或 url 重定向。...总结: getParameter()返回的是String,用于读取提交的表单中的;(获取之后会根据实际需要转换为自己需要的相应类型,比如整型,日期类型啊等等) getAttribute()返回的是Object

    22520

    request.setAttribute和request.getAttribute还有session.setAttribute和session.getAttribute还有request.getPar

    ("user"); 返回null,为什么没有取到String "1234"?...request.setAttribute()和getAttribute()方法传递的数据只会存在于Web容器内部 还有一点就是,HttpServletRequest类有setAttribute()方法,...转发目的WEB可以用getAttribute()方法来和转发源WEB共享request范围内的数据,还是说一个例子吧。...而使用session.setAttribute()会在一个过程中始终保有这个。 P.S:JavaScript与JSP中不能相互传,因为JavaScript运行在客户端,而JSP运行在服务器端。...request.getSession()可以帮你得到HttpSession类型的对象,通常称之为session对象,session对象的作用域为一次会话,通常浏览器不关闭,保存的就还再,当然会出现session

    2.7K30

    JavaScript 中 Property 和 Attribute 的区别详解

    html中有这样一段代码: 简单的html页面上创建一个input输入栏(注意在这个标签中添加了一个DOM中不存在的属性...从这里可以推断,property和attribute的同名属性的并不是双向绑定的。 如果反过来,设置attitudes中的,效果怎样呢?...[0], key); } else { return emptyGet; // 返回一个默认,在这里是undefined } } }; 通过简化代码,可以知道,access的作用就是遍历上一个...Sizzle.attr,这个方法中针对兼容性问题作出处理来获取attribute的 // 返回获得的 return ret == null ?...才会被保存在property的attributes属性中; attribute初始化property中的同名属性,但自定义的attribute不会出现在property中; attribute的都是字符串

    3.7K20

    从原理层面掌握@RequestAttribute、@SessionAttribute的使用【享学Spring MVC】

    : @ModelAttribute注解预存 比较简单,@ModelAttribute标注的方法上使用源生的HttpServletRequest放即可 @RestController @RequestMapping...:调用处理器目标方法之前(参数封装之前)任意地方放置即可,属性是都能被取到的。...---- 原理剖析 按照我的习惯,即使它很简单,我扒开来看看它的原理部分嘛。...); } // 若存在,抛出异常ServletRequestBindingException @Override protected void handleMissingValue(String...获取不到参数就会抛出异常ServletRequestBindingException;required设置为false,即使没有从request中获取到就忽略跳过,赋值为null; 总结 这篇文章介绍了

    3.2K20

    【JavaEE进阶】拦截器与统一功能处理

    ; } } getAttribute方法是Object类中的方法,用于获取对象的指定属性,它接受一个参数,即要获取的属性的名称,并返回该属性的,如果对象中不存在指定名称的属性,则返回null...统一的异常处理 我们之前处理异常的方法就是使用try-catch,或者是将异常抛出去给更上一层处理,这种方式处理异常的方式通常是分散代码的各个部分中的,当应用程序出现异常,开发需要在每个可能抛出异常的地方编写相应的异常处理代码...,这样做导致代码冗余,可读性差,并且难以维护。...); return result; } 那么上述doException方法可以处理空指针异常,当上述两个处理异常的方式同时存在,首先采用的是doNullPointerExpection...统一移除处理遇到String返回时报错问题 但是上述返回有一个问题,即如果返回的类型是String类型时会报错: 测试方法: @RequestMapping("/test1") public

    24530

    java笔试题库_java笔试题50道 收藏版

    ( ) A、显示”Servlet1″ B、显示”Servlet2″ C、显示”Servlet1Servlet2″ D、什么不显示 答案:B 24、Java Web应用程序中,使用数据源与JNDI获得数据库连接...) Jsp1.jsp代码: Jsp2.jsp代码: A、什么不显示 B、显示”null” C、显示”Mart” D、报错,提示无法显示网页 答案:A 31、servlet的服务方法(如doPost(...(String)的返回类型是Object B、HttpSession.getAttribute(String)的返回类型是String C、HttpSession上调用setAttribute(“keyA...keyA已经有一个,则会导致这个属性原先的被String valueB替换 答案:AD 36、给定req是一个HttpServletRequest,哪个代码会在不存在会话的情况下创建一个会话( )...str is A、转译期错误 B、编译期错误 C、运行后,浏览器上显示:str is null D、运行后,浏览器上显示:str is str 答案:D 50、对于以下代码,说法正确的是( )。

    1.1K20

    深入理解python面向对象-特殊成员(补)

    返回实例化的对象,如果返回None,则__init__方法不会被调用 __init__方法的self参数就是__new__返回的实例 我们使用类名创建对象先调用__new__方法,分配内存空间...,访问没有调用__getattr__方法,但是age属性是不存在的,访问时调用了__getattr__方法。...__getattribute__(item) a = A() print(a.name) #输出: getattribute: name 新名称 这里可以看到,访问正常属性先调用__getattribute...__,而且在此函数中重新设置name属性后,访问到的属性更改了,如果在此方法中固定返回一个,那么所有的属性访问都是同样的 给对象和类绑定方法 给对象绑定方法 from types import...) # 输出:test 这种绑定方式会给类增加一个方法,在此类所定义的所有对象中都可以调用,即使绑定方法之前所定义的对象可以。

    60010
    领券