jQuery选择单独的li id来使用函数

时间:2017-10-17 21:07:28

标签: javascript jquery ajax sweetalert

我正在尝试使用脚本来启动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文件时它不起作用。 ???

0 个答案:

没有答案