我想知道是否有办法做某事:
<label>TestLabel</label>
<script type="text/javascript">
... Get reference here for the just created object, like below...
alert($(this).text());
</script>
由于我的页面上有几个具有动态行为的对象,这将避免我使用id。我可以更容易地在脚本中附加对这些对象的直接更改(通过每个对象的ajax加载),将每个DOM逻辑保持在一起。
上面的代码不起作用(显示未定义),但有最接近的方法吗?
感谢。
答案 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());