gpt4 book ai didi

javascript - 尝试在不直接评估元素的情况下测试元素是否具有属性

转载 作者:行者123 更新时间:2023-12-03 10:04:58 25 4
gpt4 key购买 nike

尝试通过发送名为“attr-{{foo}}”的 html 属性来创建点击各种按钮的查询对象,该属性从 ng-repeat 或其他方式获取其名称。我希望 Controller 首先测试该元素是否具有映射到范围内查询对象的键的所有属性,然后继续此 if else 链直到只有一个属性;但是,当我尝试这样做时,我会收到错误“找不到'null'的.value”,因为我正在使用

进行测试

(下面您将找到代表我的 Controller 的代码片段)

 vm.openFoos = function (event) {
if (event.target.attributes.getNamedItem('attr-foo').value &&
!event.target.attributes.getNamedItem('attr-bar').value) {
var obj = {
foo: event.currentTarget.attributes.getNamedItem('attr-foo').value,
name: $routeParams.name
} else if {
(event.target.attributes.getNamedItem('attr-foo').value &&
event.target.attributes.getNamedItem('attr-bar').value) {
var obj = {
foo: event.currentTarget.attributes.getNamedItem('attr-foo').value,
name: $routeParams.name,
bar: event.currentTarget.attributes.getNamedItem('attr-bar').value
}
}
data.getReviews(obj)
.success(function (data){$log.debug(data)}).error(function(e){$log.debug(e)});
};

如果我单击同时具有 attr-foo 和 attr-bar 的元素(按照此测试的惯例,从具有属性的最严格情况到最少情况,我知道如果我反向编写了 if 语句,我会这样做)收到错误“找不到 null 值”。示例 HTML:

<span class="one" ng-click="vm.openFoos($event) attr-foo="foooo">Click FOOO</span>

<span class="two" ng-click="vm.openFoos($event) attr-foo="fo" attr-bar="bar">Click FOO BAR</span>

单击 span.one 会引发错误“找不到 null 值”,但单击 span.two 可以正常工作。我不想为查询中出现在各种 html 属性上的键组合的每个实例编写一个 Controller ;但是,我收到此错误。

最佳答案

而不是使用

if (event.currentTarget.attributes.getNamedItem('attr-thing').value ....

使用

if (event.currentTarget.attributes.getNamedItem('attr-thing') ....

什么时候

event.currentTarget.attributes.getNamedItem('attr-thing')

不存在,显然无法估量它的值(value)!

关于javascript - 尝试在不直接评估元素的情况下测试元素是否具有属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30400012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com