Suppression de & lt; lien & gt; élément avec jQuery?
Je ne veux pas utiliser les styles de style.css, j'ai donc décidé de supprimer le style.css, du DOM. Ce travail très bien dans Firefox et IE8, mais pas dans IE6:
$("LINK[href='http://www.example.com/style.css']").remove();
Toute autre solution, avec jQuery?
Ici est un exemple:
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Testing</title>
<script type="text/javascript" src="path/to/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("link[href*='style.css']").remove();
});
</script>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<div id="content">...</div>
</body>
</html>
Et voici le CSS (style.css):
#content {
background-color:#333;
}
Seulement dans IE #contenu est encore sombre. 🙁
Peut-être est jQuery bug?
source d'informationauteur sasa | 2009-06-08
Vous devez vous connecter pour publier un commentaire.
Ce n'est pas un bug en jQuery, c'est un bug (ou, éventuellement, une fonction) du moteur de rendu d'IE.
Il semble que ce problème est causé par le fait que Internet Explorer ne répond pas correctement ré-afficher la page après la suppression de la LIAISON de l'élément du DOM.
Dans ce cas particulier, la balise de LIEN n'est plus présent dans le DOM, mais IE affiche toujours le CSS qui a été chargé en mémoire.
Une solution /solution pour cela est de désactiver la feuille de style à l'aide de la
.disabled
propriété comme cela:MODIFIER en réponse à votre commentaire:
Ou, si vous voulez le retirer par le href utiliser le code suivant:
C'est peut-être quelque chose d'étrange IE6 ne l'URL dans la
href
attribut? Essayez quelque chose comme:(c'est à dire vérifier si le
href
valeur contient "de style.css")C'est juste une supposition, cependant. Si cela ne fonctionne pas, je vous recommandons de vérifier le JQuery documentation de près sur le sujet de sélecteur d'attribut et de la
remove
méthode.Également garder à l'esprit qu'il n'est également pas impossible que c'est en fait un bug. (IE6 en général provoque beaucoup de problèmes impliquant le JavaScript et le DOM de manipulation, entre autres choses.)
Sujet est assez vieux, mais Vous ne pouvez ajouter l'ID de votre élément de lien, et de la supprimer par élément:
Peut-être à l'aide de minuscules dans le nom de la balise?