首页 > 解决方案 > 如何在 javascript 类中使用来自 dom 的选择器“this”?

问题描述

我有一个分页,我在一个 javascript 类中监听事件“.pagination a”以通过 ajax 更改页面。

class Navigation {
 constructor(content, fetch_url, filter_id = null) {
    this.content = '#'+content;
    this.fetch_url = fetch_url;
    this.filter_id = filter_id;
 }

 paginate_event(selector_id = '.pagination a') {
    $(document).on('click', selector_id, (event) => {
        overlay(this.content);
        event.preventDefault();
        var params = window.location.search;
        var page = $(this).attr('href').split('page=')[1];
        this.fetch_data(params,page);
    });
 }
...
}

当我进行查询时,我将变量发送到 url,以便如果站点更新,它会保留在同一页面上,如果它有过滤器,它会保留它们。

问题出在这一行:

 var page = $(this).attr('href').split('page=')[1];

其中 $(this) 将其解释为类的“this”,而不是 dom 的“this”。

我怎样才能让它解释为dom的“this”?

标签: javascript

解决方案


推荐阅读