閱讀691 返回首頁    go 阿裏雲 go 技術社區[雲棲]


A標簽中通過href和onclick傳遞的this對象實現思路

14b8eaeaa153428d29db.jpg

想傳遞當前對象給一個函數,於是就將這個URL寫成”JavaScript:shoControlSidebar(this)”,可是結果發現這並不可行,接下來為大家詳細介紹下解決方法

在blog的後台管理中允許為一個分類添加一個地址,但是不好添加onclick事件。想傳遞當前對象給一個函數,於是就將這個URL寫成"Javascript:shoControlSidebar(this)",可是結果發現這並不可行,傳遞過去的參數是一個對象,但是卻得不到任何其他信息。我想得到的是innerText,而這個this並非指向它所在的A標簽。

這是不同的地方。

當使用onclick=”shoControlSidebar(this)”的時候,解釋器會給他包裝一個匿名函數,變成了: 
複製代碼 代碼如下:


a.onclick = function anonymous(){
    shoControlSidebar(this);
}

這個this指的就是a這個對象,而使用href的方式時,由於是一個地址,這個this就無處可指了。 
複製代碼 代碼如下: 


<a href="javascript:void(0);" onclick="test(this);">A標簽測試a>

複製代碼 代碼如下:


想獲取A 中的innerHTML
如果href="test(this);" 不但獲取不到值,而且程序將退出,href引向不對。

複製代碼 代碼如下:


function test(obj){
alert(obj);
//js方式獲取開始標簽和結束標簽中間插入內容
alert(obj.innerHTML);
//jquery方式獲取開始標簽和結束標簽中間插入內容
alert($(obj).html());
} 

最後更新:2017-09-25 15:33:55

  上一篇:go  最新軟件外包平台有哪些
  下一篇:go  基於 Laravel Route 的 ThinkSNS+ Component