如何在javascript中将数组传递给setAttribute方法
我想将几个参数传递给如何在javascript中将数组传递给setAttribute方法,javascript,Javascript,我想将几个参数传递给setAttribute()方法 参数包括: var obj = string/this; var mal_pat_id = "avx"; instruction = "some_instruction"; line = ['a','b','c']; var newSelect = document.getElementById("dialog_ok_btn_for_mal_pat_conf_yes"); newSelect.setAttribute('onclick',
setAttribute()
方法
参数包括:
var obj = string/this;
var mal_pat_id = "avx";
instruction = "some_instruction";
line = ['a','b','c'];
var newSelect = document.getElementById("dialog_ok_btn_for_mal_pat_conf_yes");
newSelect.setAttribute('onclick', "add("+ obj +","+ mal_pat_id + "," + instruction + "," + line + ")");
参数行作为字符串传递,该字符串应作为数组传递
提前谢谢。您应该使用方法:
newSelect.addEventListener("click", function(){
add(obj, mal_pat_id, instruction, line);
});
希望这有帮助。为什么要使用set属性进行事件侦听。直接使用
onclick
属性执行此操作,如下所示:
newSelect.onclick = function() {
add(obj, mal_pat_id, instruction, line);
}
newSelect.addEventListener("click", function() {
add(obj, mal_pat_id, instruction, line);
});
或者像这样更好:
newSelect.onclick = function() {
add(obj, mal_pat_id, instruction, line);
}
newSelect.addEventListener("click", function() {
add(obj, mal_pat_id, instruction, line);
});
注意:这不适用于所有类型的属性。您可以通过在数组周围加上“[]”来实现所需的功能。这将使它看起来像函数的数组
newSelect.setAttribute('onclick',“add”(“+obj+”,“+mal_pat_id+”,“+instruction+”,“+”[“+line+”]“+”))代码>
这会将数组行的所有数组元素设置为['a'、'b'、'c'],而不是将它们设置为'a'、'b'、'c',这会使函数将它们标识为单个变量这会将“line”参数作为数组而不是字符串传递吗?正如针对此问题提出的问题一样。可以使用add(“+obj+”、“+mal_pat_id+”、“+instruction+”、“+line+”)
简单地传递字符串。但我认为OP不想先传递字符串,然后再拆分它..这不是你要找的@Rohan吗?