Javascript DOM编辑仅适用于某个元素

时间:2017-11-03 11:11:43

标签: javascript html innerhtml addeventlistener setattribute

所以我有这个javascript代码:

var HttpClient = function() {
                this.post = function(aUrl, param, aCallback) {
                    var http = new XMLHttpRequest();
                    var url = aUrl;
                    var params = param;
                    http.open("POST", url, true);
                    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.onreadystatechange = function () {
                        if (http.readyState === 4 && http.status === 200) {
                            aCallback(JSON.parse(http.responseText));
                        }
                    };
                    http.send(params);
                }
            };                 
    function setmain(node) {
                    if (node.getAttribute("disabled") !== "disabled") {
                        var clientset = new HttpClient();
                        clientset.post("<?= $domain ?>include/admin/setmain.php", "id=" + node.getAttribute("pid") + "&token=<?= $_SESSION["Token"] ?>", function (response) {
                            if (response[0] === "216") {
                                node.innerHTML = "ez a fő kép";
                                node.setAttribute("id", "unsetmain");
                                node.setAttribute("disabled", "disabled");
                                var unsetnode= document.getElementById("unsetmain");
                                unsetnode.setAttribute("id", "setmain");
                                unsetnode.removeAttribute("disabled");
                                unsetnode.innerHTML = "legyen fő kép";
                            }
                        });
                    }
                }
            var setelements=document.getElementsByName("setmain");
            for (var j=0;j<setelements.length;j++){
                setelements[j].addEventListener("click", function () {
                    setmain(this);
                }, false);
            }

,例如这个HTML:

<button type="button" name="setmain" pid ="100" id="setmain" > legyen fő kép </button> </br>
<button type="button" name="setmain" pid ="101" id="unsetmain" > ez a fő kép </button> </br>
<button type="button" name="setmain" pid ="102" id="setmain" > legyen fő kép </button> </br>
<button type="button" name="setmain" pid ="103" id="setmain" > legyen fő kép </button> </br>

setattribute和内部html函数仅适用于ID为&#34; unsetmain&#34;的按钮下方的按钮。 onlciklinstener函数调用正在处理HTTP post发送但是按钮位于&#34; unsetmain&#34;什么都不改变。控制台中没有错误。

0 个答案:

没有答案