Javascript更改标签的innerhtml

时间:2016-04-03 23:28:38

标签: javascript

我正在尝试根据当前值更改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>

2 个答案:

答案 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属性来执行您正在执行的操作。