2014-09-12 3 views
0

Я использую этот виджет/сниппет:Как удалить весь тег 'a' из div с помощью javascript?

<div class="tbnet-gadget"> 
    <div id="tbnet-g4">Carregando...</div><a id="tbnet-link" href="http://www.tabeladobrasileirao.net/" target="_blank" class="tbnet-link" title="Tabela do Brasileirão">Tabela do Brasileirão</a> 

    <script async src="http://gadgetsparablog.com/ws/tabeladobrasileirao/script?funcao=g4&campeonato=serie-a" type="text/javascript"></script> 
</div> 

Этот виджет заставляет ссылку на дне его (Tabela сделать Brasileirão). Если я изменю тег href, виджет не будет работать.

Я хочу использовать этот виджет, но я пытаюсь удалить эту ссылку со дна.

Мне удалось удалить атрибут href, используя document.getElementById("tbnet-link").removeAttribute("href");, но текст «Tabela do Brasileirão» по-прежнему отображается.

Вот как это выглядит на JSFiddle: http://jsfiddle.net/3nhwf6tw/

Как я могу удалить с помощью JavaScript Всего <a id="tbnet-link"...Brasileirão</a>?

Спасибо.

http://jsfiddle.net/3nhwf6tw/#&togetherjs=1DF8EF6xuh

+0

попробовать 'document.getElementById ("tbnet-связь") style.display = "нет";. 'Вместо того, чтобы просто скрыть его – Darren

+0

@Darren, спасибо, но это не сработало. – viniciusmunich

+0

Ваш виджет имеет встроенную защиту, поэтому вы не можете удалить эту ссылку. – adeneo

ответ

2

Как насчет только с помощью CSS вместо:

#tbnet-link{ 
    display: none !important; 
} 

JSFiddle

Вот версия без CSS (это немного смешно):

Вы можете удалить это:

<a id="tbnet-link" href="http://www.tabeladobrasileirao.net/" target="_blank" class="tbnet-link" title="Tabela do Brasileirão">Tabela do Brasileirão</a> 

Если вы добавите этот jQuery и удалите скрипт в своем html:

$.getJSON("http://54.207.27.130/ws//tabeladobrasileirao/g4.jsonp?callback=?&campeonato=serie-a&time=None", function(k) { 
      $("#tbnet-g4").html(k.html.replace(/\<script.*?\<\/script\>/, "")); 
     }); 

JSFiddle no-CSS

+0

Спасибо! Хотя он не использовал javascript, он действительно скрывал то, что я пытался скрыть. Я подожду, чтобы посмотреть, сможет ли кто-нибудь это сделать с помощью javascript, прежде чем назначить лучший ответ. – viniciusmunich

+0

@viniciusmunich CSS - единственный хороший вариант (если вы не разобьете вызов JSON, который я сделал и опубликую). Если вы посмотрите на код в сценарии, который вы вызываете, он проверяет ссылку (поэтому вы не можете ее удалить), она очищает все атрибуты, которые вы пытаетесь добавить к ней, и JSON загружает проверку, что ссылка там неизменна (за исключением атрибута href). – imtheman

1

Если вы на JQuery, это очень легко:

$(function(){ 
    $("#tbnet-link").remove(); 
}); 
+0

Это не будет работать, так как виджет определяет, что 'href' был изменен и отображается сообщение об ошибке. Возможно, это работает, если выполняется после загрузки всего виджета. Как я могу запустить его после загрузки виджета? – viniciusmunich

+0

Если вы удаляете весь тег, зачем беспокоиться об изменении href? В любом случае, jQuery запускается после загрузки страницы. Не забудьте импортировать его. Проверьте изменение. – David

2

Чтобы удалить элемент:

var el = document.getElementById("tbnet-link"); 
el.parentNode.removeChild(el); 

Чтобы просто очистить текст:

var el = document.getElementById("tbnet-link"); 
el.innerHTML = "" 
+0

Спасибо. Проблема заключается в том, что виджет определяет, что что-то было изменено, а затем отображает сообщение об ошибке. См. Http://jsfiddle.net/7s3apztj/ – viniciusmunich