我可以使用JS / Jquery将元素ID转换为变量吗?

时间:2014-02-01 02:49:41

标签: javascript jquery

我不想将ID存储在变量中,我想将它用作访问对象的变量。

例如:

function Location(name, state)

var city = new Location("Baltimore", "Maryland");

<a href="#" id="city" onclick="function(this)">

目的是当函数运行时,它可以使用元素ID打印出“Baltimore”。

目前我尝试的任何内容都会返回undefined

2 个答案:

答案 0 :(得分:1)

您可以将ID用作密钥,当您不必弄乱父级范围等时,可以更轻松地使用。

 <a href="#" id="city" onclick="fn(this)">city</a>
 <a href="#" id="country" onclick="fn(this)">country</a>

然后

var obj = {
     city    : {name : 'New York'},
     country : {name : 'USA'}
}

function fn(elem) {
    var value = obj[elem.id].name;
}

答案 1 :(得分:0)

虽然你可以这样做,但你应该使用data属性。

// assuming that `city` is global variable.
var city = new Object();

function(eventTarget) {
   var id = eventTarget.getAttribute('data-id');// or `eventTarget.id` to get id, if you prefer not to use `data` attribute.
   console.log(window[id]);
}


<a href="#" data-id="city" onClick="foo(this)">