iT邦幫忙

0

jquery 把this取出

  • 分享至 

  • xImage

如題我有段程式碼長這樣

function chack()
{
$("a").click(function(){
$(this).html();
})
}

現在現在我想把裡面的$(this).html()取出變成個變數 可是試過很多方法都不行
只能在console.log上看

看更多先前的討論...收起先前的討論...
froce iT邦大師 1 級 ‧ 2018-06-26 13:35:25 檢舉
你html一起丟出來吧。
我懷疑你根本是弄錯click()的用法。
html丟出來? 什麼html?
你是要所有a連結的點擊事件~
點了哪個連結~就秀那個a連結的HTML?
@純真的人 恩 就是這樣 但是我要能儲存的不是只能在console.log上看
神Q超人 iT邦研究生 5 級 ‧ 2018-06-26 13:59:00 檢舉
function chack()
{
$("a").click(function(_this){
var aHTML = $(_this)[0].currentTarget;
console.log(aHTML);
})
}

以上那樣可以嗎?
我把<a>標籤的html放到變數aHTML中。
froce iT邦大師 1 級 ‧ 2018-06-26 13:59:37 檢舉
你是要儲存在哪?變數的話只要var html = $(this).html();就好了啊?
@神Q超人 有了 不過我只要取名稱的部分 就是藍色連結的名稱
http://puu.sh/AM6mW/28f507e8b8.jpg
神Q超人 iT邦研究生 5 級 ‧ 2018-06-26 14:15:04 檢舉
function chack()
{
$("a").click(function(_this){
var aHTML = $(_this)[0].currentTarget.text;
console.log(aHTML);
})
}

用text去取該標籤內的文字。
@神Q超人 終於有了 感謝
@神Q超人 現在還剩個問題 就是我希望當只有id為request的a點擊後才紀錄 可是我試過了$("#request").click沒用
神Q超人 iT邦研究生 5 級 ‧ 2018-06-26 15:03:57 檢舉
選擇器的內容改一下:
function chack()
{
$("a#request").click(function(_this){
var aHTML = $(_this)[0].currentTarget.text;
console.log(aHTML);
})
}
恩 好了 不過我看其他文章說選擇器不用加元素也能選到阿
還是攔截不到 有比click點擊前更快的嗎 例如滑鼠移動到上面就觸發
剛用了移下網頁速度變好慢0.0
froce iT邦大師 1 級 ‧ 2018-06-26 15:33:11 檢舉
https://jsbin.com/?html,output

不過不建議用hover來做,很容易誤動作。
這網址是?
froce iT邦大師 1 級 ‧ 2018-06-26 15:55:49 檢舉
範例,給你看的。
選擇器不用加元素的確可以用啊。

另外這是jQ的滑鼠事件列表:
https://api.jquery.com/category/events/mouse-events/
另外我蠻好奇為什麼你還要用一個function包起來?
包成function是為了方便點播站call來用
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
rewrite
iT邦新手 3 級 ‧ 2018-06-26 14:04:48

這樣的取得的value 會是html結構,問題的重點在於,你要「做什麼」,如果你只是要「取值」那你可以直接用 global variable 的方法就可以解決了。

但這樣只是暫時解決你的「取值」

就你這段code來看,你想要取得a Tag結構的某個東西
接下來要解決的問題還有:

  • 一個page又不會只有一個a
  • click 後的行為要將值往那傳
  • 取得a Tag的內容不是只有.html()可以用,可以試著多用其他的方法例如:.attr()、.text()

p.s. .html()好用沒錯,但用多了你會很難維護

我當然知道還有其他方法能用 用html是因為我console.log出來的結果正常所以就用了 這篇的重點是在怎把click function裡的值取出而不是用何種方法取值

利用javascript全域性變數的特性

var get_data = NULL;
alert(get_data);
chack('456');
alert(get_data);
chack('555');
alert(get_data);
function chack(a)
{
get_data = a;
}
只要在function外先宣告好一個變數。function內的值就可以使用
但切記不要在function內使用var。要不然就會又變成function內的私用變數。

另~~~請了解一下jquery的應用。不要function還包click事件。
你都不擔心重覆事件太多啊。

其實上面已經有解答了www
包成function也是為了方便點播站call來用
不然還有其他方式是不包成function就能直接call的嗎?
對了上次我給你的原始檔你改到哪了
最近想聯絡你都音訊全無

我要發表回答

立即登入回答