相关疑难解决方法(0)

元素没有方法hasAttribute,为什么?

我试图通过给定元素的DOM节点"向上"迭代以获得具有属性"动画"的第一个父元素.

var el = evt.target;
    console.log(el);
while (!el.hasAttribute('animated'))
   { el = el.parentNode; }
return el;
    console.log(el);
Run Code Online (Sandbox Code Playgroud)

引发错误:

>>>Uncaught TypeError: Object #<HTMLDocument> has no method 'hasAttribute'

这怎么可能?我已经清楚地声明了变量el,第一个日志是正确的.

javascript

3
推荐指数
1
解决办法
1万
查看次数

javascript从字符串动态创建多维数组

<span id="local->ethernet->port3->rx_flow">q4234</span>
<span id="local->ethernet->port3->rx">q345</span>
<span id="local->ethernet->port1->rx_flow">128</span>
<span id="remote->id">128</span>
Run Code Online (Sandbox Code Playgroud)

我需要通过元素中的ID示例从中创建多维数组 <span id="local->ethernet->port3->rx_flow">q4234</span>

我需要的数组是 array["local"]["ethernet"]["port3"]["rx_flow"]="q4234"

我创建的功能是:

    function make_cfg(){
    var result=new Array();
    var x=document.getElementById(*);
    var len=x.length;
    var arr;
    for (var i=0; i<=len; i++;){
        if(x[i].id){
        if(x[i].id.indexOf("->") != -1) {
            arr=x[i].id.split("->");

            result=make_obj(result,arr);

        }
        }
    }
    return result;
    }
Run Code Online (Sandbox Code Playgroud)

我不知道如何发挥作用 make_obj()

javascript arrays object

2
推荐指数
1
解决办法
1423
查看次数

Javascript对象检查属性是否存在

我有一个名为file的 javascript 对象,我试图检查该对象是否包含 file.xhr.response 属性。我试过这样..

if (file.xhr.response) {
    console.log(Exists);
} else {
    console.log(Missing);
}
Run Code Online (Sandbox Code Playgroud)

当file.xhr.response存在时,这有效,但如果不存在,则会抛出错误......

Uncaught TypeError: Cannot read property 'response' of undefined
Run Code Online (Sandbox Code Playgroud)

我哪里错了?

javascript

2
推荐指数
1
解决办法
2691
查看次数

检查嵌套对象中是否存在键值对

假设我有一个对象,

var myObj = {
    "person": {
        "name": 'adam',
        "age": 25
        "email": {
            "address": "this@that.com",
            "ccOnNot": true
        }
     }
}
Run Code Online (Sandbox Code Playgroud)

我有一个数组

['person.name', 'person.age', 'person.email.address']
Run Code Online (Sandbox Code Playgroud)

我想循环数组并检查 myObj 是否具有数组中的字段。

如何才能实现这一目标?我根本无法像这样进行测试:

if myObj['person.name']
    console.log('hr')
Run Code Online (Sandbox Code Playgroud)

javascript

1
推荐指数
1
解决办法
6005
查看次数

hasOwnProperty 不起作用

{error:true}我从服务器获得了一个 JSON 对象 ( )。

我尝试检查对象是否包含键“error”,并且键存在,函数 hasOwnProperty 返回false

这是我的代码:

$http({
        headers: { 'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8;' },
        url: '/Modules/Partners/Mailing/SendMail.ashx',
        data: $.param({ contact: JSON.stringify(contact), body: partnerObject.mailTemplate.longValue, title: "" }),
        method: 'POST'
    })
    .success(function (data, status, headers, config) {
        console.log(data);
        console.log(data.hasOwnProperty('error'));

       if (data.hasOwnProperty('error')) {
           deferred.reject(contact);
       } else {
           deferred.resolve(contact);
       }
       //console.log(data)

    })
    .error(function (data, status, headers, config) {
        deferred.reject(contact);
    });
Run Code Online (Sandbox Code Playgroud)

在控制台中,我可以看到该对象包含返回的“error”hasOwnProperty('error')false

在此输入图像描述

javascript json http angularjs

1
推荐指数
1
解决办法
1万
查看次数

JavaScript;使用“hasOwnProperty”是多余的吗?

查看我们的一些应用程序代码,我发现了以下内容:

for (prop in aBunchOfData.properties) {
  if (!aBunchOfData.properties.hasOwnProperty(prop)) continue;
  doABunchOfProcessing(aBunchOfData.properties[prop]);
}
Run Code Online (Sandbox Code Playgroud)

据我了解,for ... in只会循环遍历对象的“自己”属性。这里的支票能 hasOwnProperty 起到作用吗?如果可以,在什么条件下?

谢谢!

javascript javascript-objects

1
推荐指数
1
解决办法
135
查看次数

`if(0 in array)` - 这是否合法?

现在我正在编写一个关于JavaScript编码的实验室作品.我知道有一种类似的结构

if ('field' in object) {
    /* Do something with object.field */
}
Run Code Online (Sandbox Code Playgroud)

用于确定一个名为fieldtrue 的变量,object即使它等于undefined也是如此.

我的Firefox Developer Edition 44能够确定数组中是否有这样的字段:

if (0 in array) {
    /* Do something with first element */
}
Run Code Online (Sandbox Code Playgroud)

问题是:这种方法合法吗?它是生活标准的一部分吗?


该做什么:
让q成为具有这些元素的数组:

[ 5, <1 empty slot>, undefined, 5 ]
Run Code Online (Sandbox Code Playgroud)

然后:

  • 0 in q,2 in q,3 in q等于true;
  • 1 in q等于false.

javascript syntax cross-browser

0
推荐指数
1
解决办法
243
查看次数

像 kotlin 这样的打字稿中的条件赋值

我开始学习打字稿及其语言特征。我怀念的一件事是诸如when表达式或条件赋值之类的东西。就像是

val languange = "DE"

val test = when(languange) {
   "DE" -> "HALLO"
   "EN" -> "HELLO"
   else -> "NONE"
}
Run Code Online (Sandbox Code Playgroud)

我发现在打字稿中实现这一点的唯一方法是:

const language = "DE"

var description: String;

if (language == "DE") {
   description = "HALLO"
} else if (language == "EN") {
   description = "HELLO"
}
Run Code Online (Sandbox Code Playgroud)

难道没有更方便的方法来实现这个吗?

javascript typescript

0
推荐指数
1
解决办法
455
查看次数