如何使用javascript更改<a>的innerText

har*_*tps 7 javascript

当我点击"显示详细信息"链接时,它应该更改为"隐藏详细信息".我尝试了以下代码,但它不起作用:

out.print("<a href=\"javascript:parent.showHideDetails('"+id+"',this);\">show details</a>");

function showHideDetails(id,obj) {
    try
    {

        alert(obj.innerText);
        obj.innerText = 'hide details';
    }
    catch (err)
    {
        alert(err);
    }

}
Run Code Online (Sandbox Code Playgroud)

小智 7

问题是this你的href属性中没有指向锚点.你可以在那里传递一个标识符,并给锚元素标识为id属性; 然后使用document.getElementById获取锚点.

例:

out.print("<a href=\"javascript:parent.showHideDetails('"+id+"','anchor_1');\" id=\"anchor_1\">show details</a>");

function showHideDetails(id,identifier) {
    try
    {
        var obj = document.getElementById(identifier);
        alert(obj.innerText);
        obj.innerText = 'hide details';
    }
    catch (err)
    {
        alert(err);
    }
}
Run Code Online (Sandbox Code Playgroud)