2012-06-25 2 views
0

У меня есть страница с большим количеством таблиц, каждая со ссылкой внутри. Я должен был проверить, если они мертвы или нет, так что я построить этот код:Удаление элементов в jQuery приводит к ошибке

function UrlExists(url) 
    { 
     var http = new XMLHttpRequest(); 
     http.open('HEAD', url, false); 
     http.send(); 
     return http.status!=404; 
    } 

    $(document).ready(function() { 
     $("table[id^='row']").each(function(){ 
      if(!UrlExists($(this).children("a:nth-child(2)").attr('href'))) 
       $(this).remove(); 
     }) 
    }); 

Но это, кажется, не работает и даже консоль ошибок не полезно:

Error: ($(parentElement) || document.body).getElementsByTagName is not a function 
Source File: http://..../js/prototype.js 
Line: 835 

Где я неправильно?

+0

вы используете 'jQuery' и еще' XMLHttpRequest'? Ограничение устаревшего кода? : o –

+0

@SiGanteng: :) Я просто копирую-вставляю функции для своих требований, не глядя, о чем они. – Shubham

+0

Вы используете jQuery или Prototype.js? –

ответ

2

Поскольку ошибка из файла с именем prototype.js, я собираюсь угадать, что $ принадлежит прототипу, а не jQuery.

Try:

jQuery(document).ready(function($) { 
    $("table[id^='row']").each(function(){ 
     if(!UrlExists($(this).children("a:nth-child(2)").attr('href'))) 
      $(this).remove(); 
    }) 
}); 
+0

Не помогает. Я не думаю, что можно загрузить две фреймворки в одном файле с конфликтом имен? – Shubham

+0

@Shubham, пожалуйста, покажите новое сообщение об ошибке. – Esailija

+0

то же самое, что и в вопросе. – Shubham

Смежные вопросы