我正在尝试根据当前值更改innerhtml的文本。但是,它不会出现在if语句中。
// HTML
<a class="btn" value="notadded" onclick="changetext(this.id,this.value)" id="wishlist">Add to wish list<i class="fa fa-heart-o"></i></a>
//脚本
<script>function changetext(id,value) {
if ( value == "notadded") {
document.getElementById(id).innerHTML = "Added to Wishlist";
document.getElementById(id).value = "added";
} else if (value == "added")
{
document.getElementById(id).innerHTML= "Add to Wishlist";
document.getElementById(id).value = "notadded";
}
}
</script>
答案 0 :(得分:2)
此问题在于您无法使用值来获取该标记上的文本。
你就在那里,只有一个小小的变化:
工作演示:https://repo.maven.apache.org/maven2
<a class="btn" value="notadded" onclick="changetext(this.id,this.value)" id="wishlist">Add to wish list<i class="fa fa-heart-o"></i></a>
<script>function changetext(id,value) {
document.getElementById(id).innerHTML = "Added to Wishlist";
document.getElementById(id).innerHTML = value;
}
changetext("wishlist");
</script>
答案 1 :(得分:1)
锚标记没有值属性
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a
但是,您可以使用i< numbers.length
属性来执行您正在执行的操作。