问题标签 [getcomputedstyle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Ajax 回调中的 GetComputedStyle
我正在使用 jQuery 调用 ajax 请求,返回数据包含所有 html 元素。我想操纵与响应相关的样式。我已经尝试过 DOMParser ,它返回了节点,似乎它丢弃了与之关联的样式。我打算用
在元素上,但它总是返回 Null。有什么方法可以操纵 ajax 响应中的样式?我想获取 ajax 返回的数据的计算样式,或者想知道它是否可能?谢谢
javascript - 如何将文档 CSS 属性应用于 Parsed 元素而不将其附加到 DOM
执行此操作的常用方法是将新元素附加到正文,然后获取计算的 css 值,如下 jQuery 脚本中所示:
问题是如何在不将其附加到 DOM 的情况下执行此操作以避免缓慢的重新渲染,此脚本在不将其附加到 DOM 的情况下执行此操作:
这就是它得到的:
javascript - JS:无法在“窗口”上执行“getComputedStyle”:参数不是“元素”类型
简而言之:我试图理解这个 TypeError 的含义:无法在 'Window' 上执行 'getComputedStyle':参数 1 不是类型 'Element' 午餐 Mediawiki 的可视化编辑器时出现错误,如下所示:
http://www.wiki.org.il/index.php?title=new-page&veaction=edit
该错误无法创建新页面或匿名编辑 wiki。但是,随着使用不同的皮肤,错误消失了:
http://www.wiki.org.il/index.php/Main_Page?useskin=vector
wiki 在 1.25alpha 上运行。
javascript - 将 getComputedStyle 与 jsdom 一起使用
我无法使用 jsdom 获得颜色的计算样式值:
前面的测试返回 "" 而不是 "rgb(255, 0, 0)" 或 "red" ...
(请注意,这在浏览器中可以正常工作)
我错过了什么吗?
javascript - 如何正确更新对象?
我有一个对象生成器。它工作正常。
但后来我正在更新元素的属性
并且console.log(d.left)
是错误的。我已经找到了修复它的方法,但它有点脏,我认为:
还有另一种方式(我更喜欢一条线)?不幸的是,我不擅长英语,如果有问题,标题有错误,请编辑它们。
javascript - 计算样式更改是否触发了任何事件?
我可以在 JavaScript 中监听一个事件,告诉我特定 DOM 元素的计算样式发生了变化吗?
如果不是,那么使用 JavaScript 获取 DOM 元素的计算样式的阻塞最少的方法是什么?
javascript - HTML DOM 重排和重绘 CSS 声明的属性函数
我正在编写一个函数,这样我就可以创建一个更好的 CSS 函数,而不是每次设置大量 css 时都重新绘制和重排(我知道使用类这只是一个测试用例),所以我想出了最好的办法首先是通过内联、嵌入或外部获取声明的 CSS 样式。于是这个explicit_set_styles
功能就诞生了。然而问题是我仍在通过附加子元素来创建重绘。这就是它的工作原理
- 获取我们想要获得声明的css属性的元素的计算样式
- 创建相同类型的元素并从该计算样式中获取“默认值”
- 对其进行迭代并检查是否存在差异,那么很可能意味着它是 CSS 声明中的更改。
- 从 DOM 中移除用于测试的 type 元素
因此,通过附加一个新的 DOM 元素,我们重新绘制了 DOM,但这是我们测试默认值的唯一方法,因为不附加它,所有计算的样式都是 100% 空白的。那么有人有解决方案来获取比较值的默认值吗?
所以我在想可能有两种方法吗?通过创建一个 iframe 而不是附加它,而是将测试元素附加到它并获取它的默认值,但如果我是正确的,那不会仍然占用浏览器不必要的 CPU 吗?我已经测试过了,我的返回值看起来像这样
这是内联、嵌入式和外部 CSS 实际声明的内容
javascript - JavaScript mouseover/mousemove 光标位置而不点击输入文本框
我正在尝试结合 JavaScript 机制,通过 mouseover 和 mousemove 侦听器将用户光标自动放置在输入框内。
我在这里有一个几乎完美的工作示例:http: //codepen.io/anon/pen/doxNLm ?editors=101
我遇到的问题就像地球同步轨道;光标有时会偏离几个像素(左或右)。我的计算可能很糟糕,但我不确定帆布真的是最好的测量方法吗?有没有更好的办法?
- mousemove 侦听器从 e.pageX 接收元素光标坐标
- 使用 window.getComputedStyles(input_element) 的字体样式
- arr.split('') 来自 input_element.text 字符串:x = ['a','b','c']
- 'for循环'数组,生成画布并测量每个字符的宽度
- 将所有字符宽度一一相加,直到值大于 e.pageX
- 将“for循环”迭代设置为 setSelectionRange(i, i)
任何有关使其更好的帮助或建议将不胜感激。谢谢!
javascript - window.getComputedStyle 不适用于除 Chrome 之外的其他浏览器中的速记属性
window.getComputedStyle 在 Chrome 中给出了样式的值,但在 Firefox 和 Microsoft Edge 中它给出了一个空字符串,在 Internet Explorer 中,它说它不支持该方法。这是我的代码。
每当单击 Upvote 图像时,它都会触发该upDownVote()
函数,并传递两个参数。这是 HTML。
我通过 ajax 将三个变量传递给我的 php 脚本;ID,类型,适用。类型可以存储一个值,增量或减量。
我想要,甚至点击投票按钮。投票值加 1,按钮背景发生变化。按钮 downvote 也是如此,但这里的投票价值减少了。type
我用变量处理这个。
当再次点击upvote(或用户双击)时,投票值必须减少而不是增加。我使用 if 条件内的嵌套 if 条件(当类型为增量时)处理此问题。在那种情况下,我检查了是否applicable
大于一。如果是,我将其更改type
为递减并适用于 0,以及其原始图像的背景。
但是,如果当用户在单击 downvote 按钮后单击 upvote 按钮时会怎样。在那个条件下applicable
值大于 1。然后必须更改type
为减量。那不应该发生。为此,在我的嵌套 if 条件中,我还添加了检查 downvote 按钮的背景。页面加载时必须与之前相同。
当适用值大于 1 时(当用户在点击 downvote 之前点击 upvote)。在我的 php 脚本中,我将投票值增加了 2。
否决按钮的逻辑相同。
这是JavaScript。
的 CSSupvote
和downvote
.
一切正常,但现在我被卡住了。如何获取按钮的背景值,因为window.getComputedStyle
所有浏览器都不能正常工作。我想知道是否有任何其他属性可以让我拥有背景属性。
另外,我想知道如何用不同的逻辑做同样的事情。如果我无法为window.getComputedStyle
.
javascript - getComputedStyle 属性值
我正在尝试报告我创建的椭圆形 div 的边框半径的值,但我得到了一个未定义的返回值。谁能解释为什么?我犯了一个简单的错误还是我的代码有问题?谢谢!
编辑:我尝试了“border-bottom-left-radius”和“borderBottomLeftRadius”,结果相同。我应该使用哪一个?