如何在“ <button>”中附加元素

时间:2019-06-12 10:20:14

标签: javascript jquery

我正在尝试将Icon附加到按钮上,目前面临的挑战是图标以字符串形式重新调整(我看到了为Icon编写的代码)。

我尝试更改qoutations标记,也尝试将Icon标记放在跨度和div中,但这没有帮助。

显示图标并带有确定图标的值的HTML代码

<button type="button" id="btnState" name="btnState" class="btn btn-primary btnState" value="<?php echo $pref; ?>"><?php echo "<span class='spnDash'>".$pref."</span>";?></button>

代码循环遍历结果并选择将要显示的图标

var status = document.getElementsByClassName('btnState');
    var i;
    for(i =0; i < status.length; i++){
       var j = status[i].value;
       if(j === 1){
           $(".spnDash").remove();
           //$("<i class='far fa-thumbs-down'></i>").appendTo(".btnState");
           status[i].append('<i class="far fa-thumbs-up"></i>');
       }

Jquery代码扫描/检查从服务器传递来的值(1/0 / -1),然后根据该值分配一个图标,例如1 =大拇指向上,-1 =大拇指向下,0 =中性。

2 个答案:

答案 0 :(得分:0)

status是DOM集合对象。您正在尝试将字符串追加到对象。因此,您将得到一个字符串输出。

您可以使用:

status[i].innerHTML+="<i class='far fa-thumbs-up'></i>";

或者,如果要使用append(),则必须create a DOM object并执行以下操作:

var obj = document.createElement("i");
obj.classList = "far fa-thumbs-up";
status[i].append(obj);

答案 1 :(得分:-1)

尝试使用document.getElementById('btnState')并尝试不使用名称属性