Javascript 如何在单个onclick上同时获得映像名和src?
这是可能的,一次点击一个图像就可以同时获得图像名和src吗 我不熟悉javascript和phpJavascript 如何在单个onclick上同时获得映像名和src?,javascript,Javascript,这是可能的,一次点击一个图像就可以同时获得图像名和src吗 我不熟悉javascript和php <script language="javascript" type="text/javascript"> function SetImageName(strName) { document.getElementById("ImageName").value = strName; } </script> <div id="Images"> &l
<script language="javascript" type="text/javascript">
function SetImageName(strName)
{
document.getElementById("ImageName").value = strName;
}
</script>
<div id="Images">
<img src="images/image1.jpg" name="image1.jpg" onclick="SetImageName(this.name)"/></a>
<img src="images/image2.jpg" name="image2.jpg" onclick="SetImageName(this.name)"/>
</div><input type="hidden" value="" id="ImageName" name="ImageName"/>
可能吗?当然 在html标记中:
onclick="SetImageName(this)"
然后在你的JS中:
function SetImageName(imgElement) {
var theName = imgElement.name;
var theSrc = imgElement.src;
// etc.
也就是说,在调用SetImageName时,使用this传递对单击元素本身的引用,而不仅仅是使用this.name传递其名称。然后,在您的函数中,您可以根据需要访问其任何和所有属性。是否可能?当然 在html标记中:
onclick="SetImageName(this)"
然后在你的JS中:
function SetImageName(imgElement) {
var theName = imgElement.name;
var theSrc = imgElement.src;
// etc.
也就是说,在调用SetImageName时,使用this传递对单击元素本身的引用,而不仅仅是使用this.name传递其名称。然后,在您的函数中,您可以根据需要访问其任何和所有属性。当用户单击图像时,函数SetImageName将通过以下方式调用:
onclick="SetImageName(this)"
意思是:
<img src="images/image1.jpg" name="image1.jpg" onclick="SetImageName(this)"/>
SetImageName函数实现当用户单击函数SetImageName调用的图像时,您将通过image.name和image.src获取图像的名称和src:
onclick="SetImageName(this)"
意思是:
<img src="images/image1.jpg" name="image1.jpg" onclick="SetImageName(this)"/>
SetImageName函数实现您将通过image.name和image.src获取图像的名称和src您可以使用此函数获取图像的“src”:
document.getElementById("imagename").src
所以你的代码应该是:
<script language="javascript" type="text/javascript">
function SetImageProperties(control)
{
// Populate hidden fields with properties of the control
document.getElementById("ImageName").value = control.name;
document.getElementById("ImageSource").value = control.src;
}
</script>
<div id="Images">
<img src="images/image1.jpg" name="image1.jpg" onclick="SetImageProperties(this)"/>
<img src="images/image2.jpg" name="image2.jpg" onclick="SetImageProperties(this)"/>
</div><input type="hidden" value="" id="ImageName" name="ImageName"/>
</div><input type="hidden" value="" id="ImageSource" name="ImageSource"/>
而不是
this.name
您正在传递对整个DOM对象的引用。然后,您可以单独使用每个属性,如上面修改的代码所示。您可以使用此函数获取图像的“src”:
document.getElementById("imagename").src
所以你的代码应该是:
<script language="javascript" type="text/javascript">
function SetImageProperties(control)
{
// Populate hidden fields with properties of the control
document.getElementById("ImageName").value = control.name;
document.getElementById("ImageSource").value = control.src;
}
</script>
<div id="Images">
<img src="images/image1.jpg" name="image1.jpg" onclick="SetImageProperties(this)"/>
<img src="images/image2.jpg" name="image2.jpg" onclick="SetImageProperties(this)"/>
</div><input type="hidden" value="" id="ImageName" name="ImageName"/>
</div><input type="hidden" value="" id="ImageSource" name="ImageSource"/>
而不是
this.name
您正在传递对整个DOM对象的引用。然后,您可以单独使用每个属性,如上面修改的代码所示。您考虑过使用jQuery吗?或者您的首选解决方案需要纯js吗?为什么需要src和name?在您的示例中,名称包含在src.David Hoerster中。对我的意图是在同一页中再次回显图像。。。。这可能吗?您考虑过使用jQuery吗?或者您的首选解决方案需要纯js吗?为什么需要src和name?在您的示例中,名称包含在src.David Hoerster中。对我的意图是在同一页中再次回显图像。。。。这可能吗?