获取和更改元素标题的Javascript

时间:2014-10-19 19:14:22

标签: javascript html css

我想在点击链接时更改div中的图像。我这样做了,但我无法从链接的TITLE中检索图像的标题。

的JavaScript

function changeImage(element) {
    document.getElementById('imageReplace').src = element;
}

HTML 1

<a href="#" title="PIC1" onclick="changeImage('pics/1.jpg');return false;">my link</a>

HTML 2

<img src="pics/empty.png" id="imageReplace"/>

当我单击HTML1中显示的链接时,图像会改变HTML2代码的位置,但是当鼠标悬停在新图片上时,不会检索“title”属性并且不会弹出任何内容。我想要检索这个标题属性。

有人可以帮忙吗?

4 个答案:

答案 0 :(得分:1)

稍微修改一下你的功能:

function changeImage(src, a) {
    var img = document.getElementById('imageReplace');
    img.src = src;
    img.title = a.title;
}

和HTML:

<a href="#" title="PIC1" onclick="changeImage('pics/1.jpg', this);return false;">my link</a>

因此,您基本上将HTMLAnchorElement对象(a标记)传递到changeImage函数,您可以在其中使用title等属性。在那里你设置图像标题等于链接一。

答案 1 :(得分:1)

链接:

<a href="#" title="PIC1" onclick="changeImage.call(this,'pics/1.jpg');">my link</a>

图像:

<img src="pics/empty.png" id="imageReplace"/>

功能:

var changeImage = function(element) {
    document.getElementById('imageReplace').src = element;
    document.getElementById('imageReplace').title = this.title;
    return false;
}

Fucntion.prototype.call()

  

call()方法调用一个函数,该函数具有给定的值和单独提供的参数。

答案 2 :(得分:0)

由于您将此标记为jQuery,因此您可以使用它来设置此类元素的标题,

获取标题属性值= $("#elem").attr("title");

设置title = $("#elem).attr("title","title-value");

假设 - 有一个id = elem的元素。

在你的情况下,你需要在onclick获得头衔。要做到这一点,你可以这样做。

onclick="return changeImage('pics/1.jpg',this);"

function changeImage(imgsrc,element) {
    $("#imageReplace").attr("src",imgsrc);
    var title = $(this).attr("title");
    $("#imageReplace").attr("title",title);
    return false;
}

答案 3 :(得分:0)

使用此

function changeImage(element) {
    var element_title =element.title;
    var element_src=element.src;
    document.getElementById('imageReplace').src = element_src;
    document.getElementById('imageReplace').title= element_title ;
}
</script>
<a href="#" title="PIC1" onclick="changeImage(this);return false;">my link</a>
<img src="pics/empty.png" id="imageReplace"/>