问题标签 [getattribute]
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 - HTML输入范围的值,getattribute vs value
我创建了 type="RANGE" 和 id="slider" 的 HTML INPUT 元素。为什么我不能使用 getAttribute("value") 方法访问它的值?调试器显示有一个名为“value”的属性,其值不等于元素的值。范围元素的值不应该是它的属性吗?
regex - 使正则表达式匹配一次
我想获得第一个 src 属性,我正在使用这个正则表达式,但它会抓取所有 src 属性:
例子:
python-2.7 - Python 继承和 __getattr__ & __getattribute__
我整天都在为此奋斗,并进行了大量的谷歌搜索。我遇到了似乎是继承问题。
我有一个名为 BaseClass 的类,它为我做了一些简单的事情,比如设置日志默认值、保存日志和管理只读属性。过去我对这门课没有任何问题,但我可以说我现在只使用 python 几个月了。此外,我怀疑有几点很重要:
- 所有过去的继承都是单一继承。换句话说,我继承了 BaseClass 但继承 BaseClass 的类不会被另一个类继承。在今天的问题中,我将 BaseClass 继承到 BaseFormData,然后继承到 July2013FormData,然后继承到 Jan2014FormData。所以显然现在有更多的层次。
- 我没有尝试覆盖
__getattr__
或__getattribute__
在过去继承 BaseClass 的任何类中。今天我是。BaseClass 有__getattribute__
自己的方法来管理只读属性的获取。BaseFormData 类有一个__getattr__
方法,因为我读过这是无需显式声明所有属性即可提供对数据的访问的正确方法。正在加载的表单数据中有十几条或更多条数据(取决于版本),因此我明确声明了一些重要或别名的属性,而其余的则由__getattr__
.
这是__getattribute__
来自 BaseClass 的:
使用的行self._raw
仅仅因为继承 BaseClass 的类经常使用_raw
. BaseClass没有_raw
要求。理想情况下,对的引用_raw
只会出现在继承类的__getattr__
or中。__getattribute__
但是,我需要__getattribute__
在 BaseClass 中使用才能使只读功能正常工作。
而__getattr__
来自 BaseFormData:
这是我收到的错误:
简短的版本是我整天都在为此奋斗,因为在这里或那里进行调整,我得到了不同的反应。大多数时候__getattr__
BaseFormData 从未被调用过。其他时候我得到这个递归错误。其他时候我可以让它工作,但后来我添加了一些小东西,一切又坏了。
__getattribute__
关于继承以及__getattr__
调用and 的顺序,我显然缺少一些东西。我今天对代码进行了很多调整,如果没有记错的话,我不能__getattribute__
在 BaseFormData 和 BaseClass 中有一个,但我不记得我脑海中出现的错误。
我猜递归问题源于以下行__getattr__
:
显然,我想要做的是首先查看当前类,然后转到 BaseClass__getattribute__
以检查只读属性。
任何帮助是极大的赞赏。
------------ 一些调整的结果.... ------------
所以我将 BaseFormClass 更改__getattr__
为__getattribute__
它似乎在 BaseClass 之前运行,__getattribute__
这是有道理的。
然而,它导致了无限递归,我认为这可能是由于__init__
BaseFormClass 和 BaseFormClass 的子类中某些事情发生的顺序。然后似乎是由于 __READ_ONLY 创建得太晚了,我也修复了这个问题。
最终,_raw
是在子类中而不是在 BaseClass 中,所以我删除了对_raw
BaseClass 中的任何引用_getattribute__
。我接受了 rchang 关于将 self 更改为 object 的建议,这对 BaseClass 有所帮助,__getattribute__
但似乎在 BaseFormData 中引起了问题。我已经使用以下代码从解释器中获得了“get”部分:
基类:
BaseForm类:
具有讽刺意味的是,这又产生了另一个__getattribute__
问题。当我尝试覆盖只读属性时,会触发日志警告,但随后调用self.__instanceId
. 这个日志警告昨天工作得很好(当我可以让类实例化而没有错误时)。我可以像这样实例化类:
并像这样获取实例 ID:
这是实际的错误:
------------ 得到了它的工作,但似乎hacky.... -----------
所以上面的错误是在 _READ_ONLY 中寻找 _BaseClass__instanceId 但 __instanceId 在 _READ_ONLY 中。所以我只是修剪了传递的 attr 字符串以从头开始删除 _BaseClass 。
不过,这似乎是一个 hack。有没有标准的方法来做到这一点?
javascript - 在 Polymer 函数中按索引号调用列表项
我将通过荷兰国立博物馆的 API(JSON 输出)获取结果的 Polymer 元素与获取特定地点坐标的元素组合在一起。博物馆的艺术品有时有一个名为“productionPlaces”的项目,它可以在一个列表中保存多个值。
该网站目前显示艺术作品,其中一些元数据,以及生产地点+这些地点的坐标:http ://plnkr.co/edit/nbTN1kNzcqHANWECB5fI?p=preview
现在,我希望能够仅显示地点 + 坐标(如果存在)。至少如果“productionPlaces”为空,它应该打印出一些文本,例如“Production place unknown”。这应该是一个自调用函数。
由于我仍然无法让函数自调用,因此我目前正在使用单击事件来执行我迄今为止创建的函数。我还使用了一个警告框,这样我就可以看到我在做什么。
到达我需要的位置的第一步是让函数实际检查每个对象中所有“productionPlaces”列表项的值。
到目前为止,我当前执行此操作的功能如下:
警报框现在显示“Zuid-Holland”,这确实是第二个对象 (y=1) 的第一个生产地点 (x=0)。因此,该功能有效。
但是,为了达到我的最终目标(如上所述),该函数需要从 API 结果中自动识别值“x”和“y”。我已经从“y”开始了。但我没有成功,以下“按钮+功能”构造失败,因为警报框不再弹出:
当前的模板绑定和模板重复应该允许我通过 {{objIndex}} 显示每个对象的索引号,这似乎工作正常。那么,为什么我的“按钮+功能”构造不会在警报框中产生可见的结果?
javascript - crm 2011 xrm.page.getattribute 有值时返回 null
我对 JScript 不是很熟练,但我在一个函数 webResource 中编写了以下代码,该函数应该在表单加载时运行(OnLoad)
问题是 Xrm.Page.getAttribute(creationDateName) 在字段上有值时返回 null (该字段没有显示在表单中,但在查找时它有一个值)。有趣的是,在我的测试组织中,相同的代码就像一个魅力,但是当我将它复制并粘贴到生产组织以发布解决方案时,它不能正常工作,这让我很困惑。知道会发生什么吗?
javascript - 我可以在 Javascript 中的 DOM 节点中存储非文本属性吗
我想将 Javascript 中的对象存储在 DOM 节点的自定义属性中。我尝试过 setAttribute/getAttribute,但它们将属性转换为文本。
假设我已经完成了
这在我测试过的任何地方都不起作用
因为它给 val 留下了一个字符串值。
如果我做
然后
稍后在我的脚本中归还我的对象。
这会在 HTML5 之前的浏览器(如旧 IE)中工作吗?安全吗?
php - 替换特定图像链接的更快方法 XPath /Preg_replace
我编写了一小段代码来加载 HTML 内容。处理每个图像并检查它是否具有完整的 URL 集。
如果没有,它会添加它。
目前我正在使用 XPath 执行此操作。但我感觉这个过程会占用大量 CPU。因此,我想知道我目前正在做的事情是否有更快的方法。
我写的代码
javascript - JavaScript - 更改一组包含特定文本和可变 ID 元素的链接
我对 JavaScript 真的很陌生,但这是我开始的:
我有一个网页,/catalog?id=123456789
其中包含类似于 ID 可以是 9 个数字的任意组合的链接列表。我想定位所有链接(包括 ID),在链接末尾附加一个页面锚点,然后用页面上的现有链接切换它们。我愿意尝试使用 JQuery,但我正在开发的网站使用 MooTools 库,因此它可能无法正常工作。
magento - 如何使用 $this->getAttributes() 按属性集进行过滤;
我目前正在使用此代码来显示所有属性。
我想知道如何按属性集、输入类型和其他属性选项对其进行过滤。
提前致谢