- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
案例:e
是 HtmlElement
类型而不是 css 选择器
我说的是任何属性,而不仅仅是标准允许的属性,比如 atom-type
或 data-atom-type
,无论名称是什么,它都能工作吗没有 jQuery?
我怀疑 $(e).attr(name,value)
太慢了,首先它创建了一个完整的 jQuery 对象 ($( e) !== $(e)//两个对象不相同)
(jsPerf: http://jsperf.com/jquery-attr-vs-native-setattribute/28 ) 然后它调用某些检查然后设置值,大多数浏览器很容易支持 e.setAttribute
。
将 $(e).attr(name,value)
替换为 e.setAttribute(name,value)
是否有任何问题?
根据 MSDN 文档,IE8 支持 setAttribute
。有没有手机浏览器或者不支持的浏览器?
最终我想提高我的 JavaScript 框架的性能,最初我们广泛使用 jQuery 是因为它具有跨浏览器 DOM 功能。
我们现在了解到,除非您使用 css 选择器
,否则当您使用HtmlElement
的实例。
最佳答案
I suspect
$(e).attr(name,value)
is too slow, first of all it is creating an entire jQuery object and then it invokes certain checks and then sets value, which most browsers easily supporte.setAttribute
.
如果你measure it ,您会发现性能差异相对而言很大,但绝对值微小,而且这是我们通常关心的绝对值。在 99.999999% 的情况下,这并不重要。如果您遇到特定性能问题,并追溯到使用 jQuery,然后考虑在那个时候进行优化。
what is benefit of
$(e).attr(name,value)
vse.setAttribute(name,value)
?
在您提到的特定情况下,e
是一个 HTMLElement
,只有几个好处:
setAttribute
中有几个 IE 特定的错误,jQuery 可以为您解决
人们在真正应该设置属性时设置了一些“属性”,例如checked
或disabled
; jQuery 映射这些(这在当今主要是遗留功能,因为人们应该使用 prop
)
它会为您对 bool 值进行一些预处理,让您在 true
时使用 $(e).attr("checked", true)
真的应该“checked”
IE8 supports setAttribute as per MSDN documentation. Is there any mobile browser or any browser which will not support it?
所有浏览器都支持setAttribute
。正如我之前提到的,各种版本的 IE 都存在各种错误,但它存在并且大部分都能正常工作。
关于javascript - $(e).attr(name,value) vs e.setAttribute(name,value) 有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29180553/
request.setAttribute 和 request.getSession().setAttribute() 有什么区别? 它们存储在哪里以及以什么格式? 最佳答案 区别: 当您使用reque
session.setAttribute 和 request.setAttribute 有什么区别? 最佳答案 范围,session属性住所有的session而request属性只在一个请求中 关于j
我一直热衷于重置我的一个 jsp 页面上的一些验证错误。这是一个我无法再联系到的人(死亡或无法联系)继承的项目。我有一个 jsp 页面,其中包含许多自定义标记库,其中更多页面被添加为选项卡,父页面具有
当您从请求和 getServletContext() 调用它们时,get/setAttribute() 之间有什么区别。我注意到你需要 RequestDispatcher rd = request.g
所以我正在学习操作 DOM,并且我注意到一件有趣的事情: 假设我想使用“.”设置元素的 name 属性。点符号: element.name = "someName"; console.log(docu
HttpServletRequest类的setAttribute()方法和HttpSession类的setAttribute()方法有什么区别? 在什么情况下使用? 最佳答案 一个在请求范围内设置一个
为什么我们要使用setAttribute()方法来设置ServletContext参数,因为我们可以通过在web.xml中设置参数并使用getInitParameter()来获取它们来完成相同的工作?
我在 setAttribute() 方面遇到问题。我已经搜索过互联网和这个网站,但他们没有解决我的问题。我想用 javascript 更改图片的宽度和高度,但它不起作用。请帮助我。
在学校,我的老师将我的代码更改为下面的示例它不起作用,我无法理解它是如何工作并修复它的。 function _$(e, attrs) { var el = document.createEle
我有三个元素,我正在尝试为每个元素设置属性: const foldable = document.getElementsByClassName('foldable') let result = Arr
我正在尝试使用 object3D.lookAt 属性更改图像的视角。目前我正在尝试使用组件的 update() 方法更改图像的方向。这是通过更新我的组件的 Lookat 属性来实现的。 functio
我有一些有效的 SVG 代码,可以通过在形状上设置属性来处理鼠标事件: function plot() { ... shape.setAttributeNS(null, "onmouseove
我使用的表单会根据您单击单选按钮的选项来显示一些 div。 问题是 div 设置为不显示,除非我选择一个选项。 所以我添加了以下函数,以确保如果显示 div,它将具有具有所需属性的形式。 所以我给出这
此代码嵌套在 ascx 控件中。 onclientclick 事件有效并且没有错误,但标签文本没有更改?我错过了什么?
同样,我在使用 setAttribute 时遵循我的引用书和在线引用:它根本不起作用; HTML:
这是一些 HTML: lorem Lorem, ipsum dolor sit amet consectetur adipisicing elit. Eaque magnam expedit
我一直在以不同的方式创建元素,但不确定最佳方法。有什么区别: var myselect = document.createElement("select"); myselect.name="blah"
这里我稍微修改了代码 https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_doc_getelementsbyname_loop 来自
我在为另一个元素设置属性时遇到问题。 我正在使用带有 JS 和 HTML 的 PHP 代码,它看起来像: $value 你一定知道我有两个元素。我用于编写文本的第一个('content')和另一个('
我是 Javascript 的新手,我不知道如何在选定的选项上使用 setAttribute。 我的 html 中有一个 id = employee 的 select 元素(使用 javascript
我是一名优秀的程序员,十分优秀!