我在尝试获取javascript值并将其传递给警报时遇到了很多麻烦。这是我用来传递值的代码....
<img onclick="handpost()" id="colorface" name="red" src="http://www.asl-ela.org/image/redface.png" alt="Red face" /></a>
然后我使用函数从img标签中获取数据....
<script type="text/javascript">
function handpost() {
var color = document.getElementById('colorface').name;
alert(color);
}
</script>
我一直警告说未定义。这是什么意思?!?!?!
答案 0 :(得分:9)
它的确意味着它的内容:document.getElementById('colorface').name
未定义。 document.getElementById('colorface')
可能存在,但它没有财产name
。试试document.getElementById('colorface').getAttribute('name')
。
name
不是img
的标准属性,但如果您添加它,则可以访问它。
答案 1 :(得分:3)
请改用以下内容:
var color = document.getElementById('colorface').getAttribute('name');
答案 2 :(得分:0)
不确定你怎么能得到undefined
Element.name ,
name
获取或设置DOM对象的name属性;它仅适用于以下元素:<a>
,<applet>
,<button>
,<form>
,<frame>
,<iframe>
,<img>
,<input>
,<map>
,<meta>
,<object>
,<param>
,<select>
和<textarea>
(From MDN)< / p>
function handpost() {
var color = document.getElementById('colorface').name;
alert(color);
}
<img onclick="handpost()" id="colorface" name="red" src="http://www.asl-ela.org/image/redface.png" alt="Red face" />