我正在尝试使用脚本来启动jQuery警报功能(使用sweetalert作为警报),该功能允许用户在iTunes中搜索保留在警报范围内的软件项目。
我想使用iTunes类别为其他7个项目创建类似的提醒。另外,我想将代码放在一个单独的custom.js文件中(它适用于Wordpress),所以我想找到一种方法来使用不同的id迭代这些项目,以启动特定li项目的特定搜索,并为此特别的术语。搜索是通过Sweetalert Ajax(promise)调用,我使用的是Wordpress jQuery而不是jQuery。
第一个(也是目前)li项目/术语'软件'在页面上正常工作,但当我将其传输到自定义js文件时,它不会加载。自定义脚本在jquery下面的页面底部加载。 Sweetalert必须排在首位。假设我设法将函数放在custom.js中(对于不同的搜索术语,它必须是8个单独的函数,因为它是相同的函数但不同的术语?)我想知道哪个是最好的方法总的来说,我会更好地使用类而不是ID吗?
**html**
<li id="sftw">Search Top Software</li>
custom.js (目前在html页面中)
jQuery(document).ready(function($) {
$('#sftw').click(function() {
swal({
text: 'Search for software. e.g. "Project Management.',
content: "input",
button: {
text: "Search!",
closeModal: false,
},
})
.then(name => {
if (!name) throw null;
return fetch(`https:itunes.apple.com/search?term=${name}&country=us&entity=software`);
})
.then(results => {
return results.json();
})
.then(json => {
const software = json.results[1];
if (!software) {
return swal("No software was found!");
}
const name = software.softwareDeveloper;
const imageURL = software.artworkUrl100;
swal({
title: "Top result:",
text: name,
icon: imageURL,
});
})
.catch(err => {
if (err) {
swal("Oh no!", "The AJAX request failed!", "error");
} else {
swal.stopLoading();
swal.close();
}
});
});
});
当我在html页面上有它时,它可以工作但是当移动到自定义js文件时它不起作用。 ???