我正在尝试用函数名称替换html元素中的字符串,在我的情况下,我要替换的字符串位于(click)函数内部,该函数被视为函数名称而不是字符串,但不是另外,当我获得元素的HTML时,我不知道为什么它没有检索(click)函数。有什么办法可以实现?
我的html元素
<li class="clearfix" (click)="fonction" style="cursor:pointer;
list-style: none;">
我在组件中的功能
var discussElt = document.getElementById('discussionElement').innerHTML;
discussElt = discussElt.replace('fonction', 'clickDiscussion('
+ this.storage.get('discussTab')[i].id + ','
+ this.storage.get('discussTab')[i].destinatorId + ")");
但是describeElt的值为
<li class="clearfix" style="cursor:pointer;list-style: none;">
代替(click)="fonction"
它将是(click)="clickDiscussion(param1,param2)"
答案 0 :(得分:1)
定义click事件侦听器以及是否可以决定执行哪个功能,而不是通过替换字符串来更改html元素。
function func_1(event){
//do something
console.log("func_1 executed");
}
function func_2(event, param1, param2){
//do something
console.log("func_2 executed");
console.log("param1 : " + param1);
console.log("param2 : " + param2);
}
function click_healder_func(event){
var execute_func = document.querySelector('#some_input').value;
var param1 = "par_1";
var param2 = "par_2";
if(execute_func == "func_1"){
return func_1(event,);
}else if(execute_func == "func_2"){
return func_2(event, param1, param2);
}
}
type "func_2" in input then click li ele <input id="some_input" value="func_1"/>
<ol>
<li onclick="click_healder_func()" id="my_ele_id" class="clearfix" style="cursor:pointer;
list-style: none;"> i am li ele, click me</li></ol>
答案 1 :(得分:-1)
document.querySelector('#liId').addEventListener('click',function(event){
var param1 = this.storage.get('discussTab')[i].id ;
var param2 = this.storage.get('discussTab')[i].destinatorId;
return clickDiscussion(event, param1, param2);
});
并向您的
<li id="liId" class="clearfix" style="cursor:pointer;list-style: none;">
Ps:我使用@ yip102011的想法并将其应用于您的代码