Javascript无需使用id即可引用刚创建的对象

时间:2014-05-22 00:54:39

标签: javascript jquery

我想知道是否有办法做某事:

<label>TestLabel</label>
<script type="text/javascript">

    ... Get reference here for the just created object, like below...

    alert($(this).text());

</script>

由于我的页面上有几个具有动态行为的对象,这将避免我使用id。我可以更容易地在脚本中附加对这些对象的直接更改(通过每个对象的ajax加载),将每个DOM逻辑保持在一起。

上面的代码不起作用(显示未定义),但有最接近的方法吗?

感谢。

2 个答案:

答案 0 :(得分:1)

您可以使用以下内容执行此操作:

<label>TestLabel</label>
<script type="text/javascript">
    var scripts = document.getElementsByTagName('script'),
        sibling = scripts[scripts.length - 1].previousSibling;

    while (sibling.nodeType == 3) {
        sibling = sibling.previousSibling;
    }
</script>

JSFiddle:http://jsfiddle.net/4XQAA/

但首先它确实看起来不错。

答案 1 :(得分:-1)

您应该缓存对象的引用:

var $this = $(this);
alert($this.text());
alert($this.html());