如果点击的链接是artist_link
,我需要运行一个脚本。我需要这样做的原因是因为我有一个历史api脚本,如果单击此链接,则需要运行脚本。它在页面加载时运行,但由于内容中的历史api ajaxes没有页面加载。
这是我拥有的;
if ($('a').attr('id') == 'artist_link'){ alert ('hello'); }
好的,我应该解释一下。它必须是if子句,因为脚本只会运行 IF ,单击的链接具有该特定ID。该子句在AJAX请求中,该请求是我的历史api脚本的一部分。
$.ajax({
url: url,
type: 'GET',
dataType: "html",
success: function (responseData) {
$("#main").hide().html($("#load", responseData)).fadeIn(500); //fadeIn new page
if (url =='Home'){
$.ajax({
type: "GET",
url: "AJAX/request_feed.js",
dataType: "script"
});
}
if (url =='Discover'){
$.ajax({
type: "GET",
url: "AJAX/get_artists.js",
dataType: "script"
});
}
if ($('a').attr('id') === 'artist_link'){ alert ('hello'); }
},
error: function (jqXHR, textStatus, errorThrown) {
window.location.replace("404");
}
});
更新:
此外,点击功能正好在历史记录脚本的开头,因此我只需要确定点击的a
是否具有该特定ID
$(document).on("click", "a", function (event) {
答案 0 :(得分:3)
如果点击的链接是artist_link
,我需要运行脚本
那么仅针对ID并设置点击功能会出现什么问题?
$("#artist_link").on('click', function() {
alert('hello');
});
修改强>
$(document).on("click", "a", function (event) {
//do ajax stuff here
if (event.target.id=='artist_link') {
//do some stuff if the right link was clicked ...
//make sure you don't redefine the event, and it will be available in
//the ajax functions scope as well (as long as it's inside the click function)
}
});
答案 1 :(得分:1)
如果您在页面加载后动态添加HTML元素,请使用此
$(document).on('click', '#artist_link', function() {
alert('hello');
});