Difference between revisions of "Template:Listref/ListrefErrors.js"

From blackwiki
Jump to navigation Jump to search
imported>Gadget850
(citation)
imported>Gadget850
(#cite_note-listref)
Line 9: Line 9:
 
     {
 
     {
 
         href = links[i].getAttribute('href');
 
         href = links[i].getAttribute('href');
         if (href.indexOf('#cite_note') == 0)
+
         if (href.indexOf('#cite_note-listref') == 0)
 
             if (document.getElementById(href.substring(1)) == null)
 
             if (document.getElementById(href.substring(1)) == null)
 
                 links[i].parentNode.innerHTML +=
 
                 links[i].parentNode.innerHTML +=
Line 23: Line 23:
 
             id = cites[i].getAttribute('id');
 
             id = cites[i].getAttribute('id');
 
             // we only need to check citations with a
 
             // we only need to check citations with a
             if(!id || id.indexOf('cite_note') !== 0)
+
             if(!id || id.indexOf('cite_note-listref') !== 0)
 
                 continue;
 
                 continue;
 
             // don't do cites that are inside a ref
 
             // don't do cites that are inside a ref

Revision as of 21:14, 2 October 2011

// adapted from User:Ucucha/HarvErrors.js if(window.checkLinksToCitations === undefined)

   window.checkLinksToCitations = true;

jQuery(document).ready(function($) {

   // first check: do links in listref templates citations point to a valid citation?
   links = document.links;
   for (i=0; i < links.length; i++)
   {
       href = links[i].getAttribute('href');
       if (href.indexOf('#cite_note-listref') == 0)
           if (document.getElementById(href.substring(1)) == null)
               links[i].parentNode.innerHTML +=
                   " Listref error: link to " +
                   href +
                   " doesn't point to any matching citation.";
   }
   // second check: do endnote IDs have citations pointing to them?
   if(window.checkLinksToCitations) {
       cites = jQuery('.citation');
       for(i=0; i < cites.length; i++) {
           id = cites[i].getAttribute('id');
           // we only need to check citations with a
           if(!id || id.indexOf('cite_note-listref') !== 0)
               continue;
           // don't do cites that are inside a ref
           parentid = cites[i].parentNode.getAttribute('id');
           if(parentid && parentid.indexOf('cite_note') === 0)
               continue;
           // check for links to this citation
           query = 'a[href|="#' + id + '"]';
           if(jQuery(query).length == 0) {
               cites[i].innerHTML +=
                   " Listref error: There is no link pointing to this citation.";
           }
       }
   }

});