可以将html指向JS对象

时间:2012-05-31 19:02:17

标签: javascript html

有没有办法让html指向一个javascript对象?

我知道我可以在JS中使用哈希来将标记id(或其他一些属性)与JS对象相关联,但有没有办法将指向html标记的指针添加到JS对象中?

<div id="user10"></div>
<div id="user11"></div>

然后在JS中

function getUserPointedByTag(tag){
    //this is what I would like to have without going through a hash
} 
function myAwesomeUserDivClickHandler(clickedTag){
    user = getUserPointedByTag(clickedTag)
}

2 个答案:

答案 0 :(得分:0)

在多次阅读问题后,我认为这就是你想要的:

document.addEventListener('click', function (e) {
    var node = e.target.tagName ? e.target : e.target.parentNode;
    yourAwesomeUserDivClickHandler(node);
}, false);

答案 1 :(得分:0)

我认为您最好使用data-属性来存储用户ID。

<div class="user" data-userid="10"></div>
<div class="user" data-userid="11"></div>

这样,您可以使用以下方法轻松检索与元素关联的用户ID:

document.addEventListener("click", function (e) {
    var node = e.target.tagName ? e.target : e.target.parentNode;
    var userId = e.getAttribute("data-userid");
    // Do something with the user ID
}, false);