我有以下JS代码:
(".year-link").click(function(event) {
event.preventDefault();
var year = $(this).data("year");
var url = window.location.pathname + '?action=year&year=' + year;
$.get(url, function(data) {
var receivedData = $(data); // Convert the received HTML data to a jQuery object
var posts = receivedData.find('.fenster').html(); // Extract the posts data
$('.fenster').html(posts); // Update the current page with the received posts data
});
});
代码在 Django 模板中使用如下:
{% for jahr in jahre %}
<div class="flex-item" style="flex-basis: 10%;">
<a href="?action=year&year={{jahr}}" class="year-link">{{ jahr }} </a>
</div>
代码执行了应有的操作(!!),但会产生错误,如开发人员工具中所示:
JS 错误:未捕获类型错误:“.year-link”。click 不是函数
如果我用 document.ready 包装我的年份链接函数...,错误就消失了,但页面失去了其行为(单击后没有任何反应):
$(document).ready(function() {
$(".year-link").click(function(event) {
event.preventDefault();
var year = $(this).data("year");
var url = window.location.pathname + '?action=year&year=' + year;
$.get(url, function(data) {
var receivedData = $(data); // Convert the received HTML data to a jQuery object
var posts = receivedData.find('.fenster').html(); // Extract the posts data
$('.fenster').html(posts); // Update the current page with the received posts data
});
});
});
我该怎么办?
问候 安德烈亚斯
我尝试过使用 chat-gpt 几天,但是代码要么执行了它应该执行的操作并产生了 JS 错误 或者代码不会产生错误并且不执行任何操作...
在您的第一个代码块中,选择器前面缺少
$
:
(".year-link")
-> $(".year-link")