首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript getElementById()

Javascript getElementById()
EN

Stack Overflow用户
提问于 2009-06-03 19:57:45
回答 4查看 832关注 0票数 1

我正在尝试创建一个通用的javascript函数,它可以改变事件的属性。

它的工作方式是

代码语言:javascript
复制
function fooFunction(sourceElement) 
{    
  var newName = sourceElement+'Span';    
  var newElement = document.getElementById(newName);
  //Important line
  newElement.property = "enter properties here";
}

我用这样的方式来命名它

代码语言:javascript
复制
<img src="foo.gif" id="foo" name="foo" onmouseover="fooFunction(this.id);"/>
<span id="fooSpan" name="fooSpan">some text here</span>

因此从理论上讲,当悬停图像时,它应该更改我需要在fooSpan对象上更改的任何属性。它在Opera中工作,但在IE上它返回一个空对象。

有什么想法吗?

我的想法是,我将有多个图像,它们将自动触发相关文本范围(通常是css样式)上的属性更改。

EN

回答 4

Stack Overflow用户

发布于 2009-06-03 20:55:05

您确定您在IE中正确获取了ID吗?也许在IE中传入的ID为空(也许this.id不工作?)。

试着这样叫它:

代码语言:javascript
复制
<img src="foo.gif" id="foo" name="foo" onmouseover="fooFunction('foo');"/>

看看这有没有帮助。我看不出getElementById()会失败的任何原因,所以我唯一能想到的就是这是一个ID问题。

票数 1
EN

Stack Overflow用户

发布于 2009-06-04 04:12:03

可能此行在IE中不起作用。"newElement.property“我不知道确切的原因。

你可以用这一行代替那一行

newElement.setAttribute(property,“在此处输入属性”);

同时,我也在努力找出错误背后的原因。

票数 0
EN

Stack Overflow用户

发布于 2009-06-04 04:25:56

我的建议是这样做。

代码语言:javascript
复制
function fooFunction(sourceElement,property,propertyValue) {    
  var newElement = document.getElementById(sourceElement);
  newElement.setAttribute(property,propertyValue);
};

您的HTML将如下所示:

代码语言:javascript
复制
<img src="foo.gif" id="foo" name="foo" 
           onmouseover="fooFunction('fooSpan','class','mouseover_span');"/>
<span id="fooSpan" name="fooSpan">some text here</span>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/946842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档