需求:某應用APP用戶首次加載會添加一段鏈接用於推銷,點擊X號會移除該段鏈接(即調用一次X號的click)
因為不希望該鏈接產生,故需要將其移除,而該應用源碼並非自己開發,工程不小查找該源碼會很耗時,但是
其每次都會引入一個公共的jsp文件,故可以在該jsp內手寫js控制
jquery調用已有元素的click:$(".SmartBanner-close").click();獲取元素后直接調用即可
原生js調用已有元素的click:
document.getElementsByClassName("SmartBanner-close")[0].click();親測不好使
document.getElementsById("SmartBanner-close")[0].click();據傳好使,因需求元素只有className也就沒測
解決方案:
//獲取該節點元素 var SmartBannerClose = document.getElementsByClassName("SmartBanner-close")[0]; //執行該方法,觸發事件 fireClick(SmartBannerClose ); function fireClick(node){ if (document.createEvent) { //此兩步同時存在 //創建一個事件對象 var evt = document.createEvent('MouseEvents'); //初始化該事件對象 evt.initEvent('click', true, false); //合並事件 node.dispatchEvent(evt); } else if(document.createEventObject) { node.fireEvent('onclick') ; } else if (typeof node.onclick == 'function') { node.onclick(); } }