在事件触发时更新另一个元素

时间:2009-12-31 22:54:28

标签: javascript scope

假设我有一个事件附加到一个元素,但我想在它触发时更新另一个元素。

var el = document.getElementById("el"),
    el1 = document.getElementById("el1");

el.onmouseover = function() {

    // Here I want to update for example the innerHTML property 
    // of el1 but el1 is undefined in this scope
}

我如何实现这一目标?

3 个答案:

答案 0 :(得分:2)

不是这样。 el1确实在该范围内定义。如果它似乎不是,你可能在某处出现了错误。甚至,使用此HTML测试它:

<p id=el>el
<p id=el1>el1

<script>
var el = document.getElementById("el"),
    el1 = document.getElementById("el1");

el.onmouseover = function() {
  alert(el1);
}
</script>

答案 1 :(得分:1)

var el = document.getElementById("el");
el.onmouseover = function () 
{
    var el1 = document.getElementById("el1");
    el1.innerHTML = 'New values';
}

答案 2 :(得分:0)

将元素放入mouseover事件中会不会很痛苦?

var el = document.getElementById('el');
el.onmouseover = function(evt) {
  var el_inner = evt.target;
  var el2_inner = document.getElementById('el2');
  el2_inner.innerHTML = 'editing the html here.';
};