了解jQuery选择器输出

时间:2016-10-15 22:35:00

标签: javascript jquery

在我的javascript中的某个时刻,我使用以下代码创建一个div:

var myDiv = document.createElement('div');
myDiv.className = 'square';
myDiv.id = originalID;
...
myDiv.myAttribute = myValue;

稍后,我希望修改它,所以我尝试使用以下代码选择它:

$("div[myAttribute ='"+ myValue +"']")

但是,我无法使用此代码修改myDiv!

$("div[myAttribute ='"+ myValue +"']").id = newID;

所以我尝试使用此警报进行调试:

alert(JSON.stringify($("div[myAttribute ='"+ myValue +"']")));

但它显示了一堆东西:

{

"length":0,
"prevObject":{
    "0":{
        "location":{
            "href":"http://localhost:3000/",
            "origin":"http://localhost:3000",
            "protocol":"http:",
            "host":"localhost:3000",
            "hostname":"localhost",
            "port":"3000",
            "pathname":"/",
            "search":"",
            "hash":""
        }
    },
    "context":{
        "location":{
            "href":"http://localhost:3000/",
            "origin":"http://localhost:3000",
            "protocol":"http:",
            "host":"localhost:3000",
            "hostname":"localhost",
            "port":"3000",
            "pathname":"/",
            "search":"",
            "hash":""
        }
    },
    "length":1
},
"context":{
    "location":{
        "href":"http://localhost:3000/",
        "origin":"http://localhost:3000",
        "protocol":"http:",
        "host":"localhost:3000",
        "hostname":"localhost",
        "port":"3000",
        "pathname":"/",
        "search":"",
        "hash":""
    }
},
"selector":"div[myAttribute='myValue']"

}

如何构建语句以使用选择器修改该元素的ID?

1 个答案:

答案 0 :(得分:1)

首先,在创建myDiv之后,你是否将它附加到dom。 尝试将其附加到DOM。 请检查以下代码段

var myDiv = document.createElement('div');
myDiv.className = 'square';
myDiv.id = "originalID";
document.body.appendChild(myDiv)
myDiv.setAttribute('myAttribute',2);
alert(myDiv.getAttribute('myAttribute'))

希望这有帮助