В качестве упражнения я конвертирую одностраничное приложение из JavaScript в GopherJS.
В коде JS появляется следующее:
var list = $('.all-products .products-list');
list.find('li').on('click', function (e) {
e.preventDefault();
var productIndex = $(this).data('index');
window.location.hash = 'product/' + productIndex;
})
В моем преобразовании GopherJS у меня есть следующее:
list := jquery.NewJQuery(".all-products .products-list")
list.Find("li").On("click", func(e jquery.Event) {
e.PreventDefault()
// productIndex := jquery.NewJQuery(e.Target).Data("index").(float64)
// dom.GetWindow().Location().Hash = "product/" + productIndex
})
, но я изо всех сил пытаюсь понять, как перевести $(this)
.jquery.NewJQuery(e.Target)
, похоже, не возвращает li
, но div
, который находится внутри li
.
Насколько я понимаю, $(this)
внутри функции возвращает this
в областивнешний элемент jQuery (li
).