JQuery simple et facile à comprendre : opérations jQuery
Créer, manipuler et ajouter du HTML de manière dynamique
Vous pouvez créer un balisage HTML de manière dynamique en transmettant une chaîne HTML brute à une fonction jQuery.
<!DOCTYPE html> <html lang="en"> <body> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script> (function($){ alert($('<div><a></a></div>').get(0).nodeName); // Alerts "DIV" alert($('<div><a></a></div>').length); // Alerts "1" <div> is in the wrapper set alert($('<div><a></a></div><div><a></a></div>').length); // Alerts "2" <div> are in the set })(jQuery); </script> </body> </html>
Il convient de noter que lors de l'utilisation des fonctions jQuery pour créer une structure DOM, seul l'élément racine de la structure sera ajouté à l'ensemble de wrapper. Dans l’exemple de code précédent, l’élément <div>
serait le seul élément de l’ensemble wrapper.
Une fois qu'un élément de la structure HTML est créé, nous pouvons le manipuler en utilisant la méthode find()
.
<!DOCTYPE html> <html lang="en"> <body> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script> (function ($) { $('<div><a></a></div>') .find('a') .text('jQuery') .attr('href', 'http://www.jquery.com'); })(jQuery); </script> </body> </html>
Après avoir manipulé le HTML nouvellement créé, vous pouvez également l'ajouter au DOM en utilisant l'une des méthodes de manipulation de jQuery. Ci-dessous, nous utilisons la méthode appendTo()
pour ajouter un balisage à la page.
<!DOCTYPE html> <html lang="en"> <body> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script> (function($){ $('<div><a></a></div>') .find('a') .text('jQuery') .attr('href', 'http://www.jquery.com') .end().appendTo('body'); // end() is used to exit the find() method })(jQuery); </script> </body> </html>
Remarque : Un élément simple qui ne contient pas d'attributs - comme $('<div>
document.createElement
DOM 方法创建,而所有其他情况都依赖于 innerHTML
属性。事实上,您可以直接向 jQuery 函数传递使用 document.createElement
-e.g 创建的元素。 $(document.createElement('div'))
.
Les chaînes HTML transmises à jQuery ne peuvent pas être contenues dans <div>
éléments qui peuvent être considérés comme invalides.
La chaîne HTML transmise à la fonction jQuery doit être bien formée.
Lorsque vous passez du HTML jQuery, vous devez ouvrir et fermer tous les éléments HTML. Ne pas le faire peut entraîner des erreurs, principalement dans Internet Explorer. Pour être sûr, fermez toujours les éléments HTML et évitez d'écrire des raccourcis HTML - comme $(<div />)
.
Exploration de la méthode index()
Vous pouvez déterminer l'index d'un élément dans un ensemble encapsulé en passant l'élément à la méthode index()
. Par exemple, disons que vous disposez d'un ensemble de wrappers qui contient tous les éléments index()
方法来确定包装集中元素的索引。例如,假设您有一个包含网页中所有 <div>
元素的包装集,并且您想知道最后一个 <div>
d'une page Web et que vous souhaitez connaître l'index du dernier élément
<!DOCTYPE html> <html lang="en"> <body> <div>0</div> <div>1</div> <div>2</div> <div>3</div> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script> (function ($) { // Alerts "3" alert($('div').index($('div:last'))); })(jQuery); </script> </body> </html>
index()
的使用并没有真正击中要害,直到我们考虑如何将它与事件一起使用。例如,通过点击下面代码中的 <div>
元素,我们可以将点击的 <div>
元素(使用关键字 this
)传递给 index()
方法来确定点击的 <div>
index()
ne nous convient pas vraiment tant que nous n’avons pas réfléchi à la manière de l’utiliser avec des événements. Par exemple, en cliquant sur l'élément dans le code ci-dessous, nous pouvons passer l'élément cliqué (en utilisant le mot-clé
this
) à la méthode index()
pour déterminer le cliqué index.
<!DOCTYPE html> <html lang="en"> <body> <div id="nav"> <div>nav text</div> <div>nav text</div> <div>nav text</div> <div>nav text</div> </div> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script> (function ($) { // Alert index of the clicked div amongst all div's in the wrapper set $('#nav div').click(function () { alert($('#nav div').index(this)); // or, a nice trick... alert($(this).prevAll().length); }); })(jQuery); </script> </body> </html>
text()
Exploration de la méthode text()
Les gens peuvent penser à tort que la méthode
renvoie uniquement le nœud de texte du premier élément de l'ensemble de wrapper. Cependant, il concatène en fait les nœuds de texte de tous les éléments contenus dans l'ensemble de wrappers et renvoie la valeur concaténée sous la forme d'une chaîne unique. Assurez-vous de bien comprendre cette fonctionnalité, sinon vous pourriez obtenir des résultats inattendus.
<!DOCTYPE html> <html lang="en"> <body> <div>1,</div> <div>2,</div> <div>3,</div> <div>4</div> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script> (function ($) { alert($('div').text()); // Alerts "1,2,3,4" })(jQuery); </script> </body> </html>
replace()
Mettre à jour ou supprimer des caractères à l'aide d'expressions régulières
En utilisant les méthodes JavaScript html()
combinées à certaines fonctionnalités de jQuery, nous pouvons très facilement mettre à jour ou supprimer tout modèle de caractère dans le texte contenu dans l'élément.
<!DOCTYPE html> <html lang="en"> <body> <p> I really hate using JavaScript. I mean really hate it! It is the best twister ever! </p> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script> (function ($) { var $p = $('p'); // Replace 'hate' with 'love' $p.text($p.text().replace(/hate/ig, 'love')); // Remove 'twister' and replace it with nothing $p.text($p.text().replace(/twister/ig, '')); // Keep in mind that text() returns a string, not the jQuery object. // That is how the replace() string method is chained after using text() })(jQuery); </script> </body> </html>
Vous pouvez également mettre à jour tous les caractères contenus dans la chaîne renvoyée par
. Cela signifie que vous pouvez non seulement mettre à jour le texte, mais également mettre à jour et remplacer les éléments DOM via des expressions régulières.
.contents()
方法可用于查找所有子元素节点,包括元素内部包含的文本节点。然而,有一个问题。如果检索到的内容仅包含文本节点,则所选内容将作为单个文本节点放置在包装器集中。但是,如果您要检索的内容在文本节点中包含一个或多个元素节点,则 .contents()
Exploration de la méthode .contents()
.get(0).nodeValue
提取值。 contents()
方法对于提取文本节点值很方便。可以使用 contents()
contiendra des nœuds de texte et des nœuds d'éléments. Vérifiez le code ci-dessous pour comprendre ce concept.
<!DOCTYPE html> <html lang="en"> <body> <p>I love using jQuery!</p> <p>I love <strong>really</strong> using jQuery!</p> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script> (function ($) { // Alerts "I love using jQuery!" because no HTML elements exist alert($('p:first').contents().get(0).nodeValue); // Alerts "I love" alert($('p:last').contents().get(0).nodeValue); // Alerts "really" but is an HTML element, not a text node alert($('p:last').contents().eq(1).text()); // Alerts "using jQuery!" alert($('p:last').contents().get(2).nodeValue); })(jQuery); </script> </body> </html>
Veuillez noter que lorsque les éléments de l'ensemble wrapper sont des nœuds de texte, nous devons utiliser
pour extraire uniquement les nœuds de texte de la structure DOM.
<!DOCTYPE html> <html lang="en"> <body> <p>jQuery gives me <strong>more <span>power</span></strong> than any other web tool! </p> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script> (function($){ $('p') .find('*') // Select all nodes .andSelf() // Include <p> .contents() // Grab all child nodes, including text .filter(function() {return this.nodeType == Node.TEXT_NODE;}) // Remove non-text nodes .each(function (i, text) { alert(text.nodeValue) }); // Alert text contained in wrapper set })(jQuery); </script> </body> </html>
remove()
L'utilisation de Remove() ne supprimera pas les éléments de l'ensemble encapsulé
Lorsque vous utilisez remove()
, les éléments contenus dans la structure DOM dont le fragment DOM a été supprimé sont toujours inclus dans l'ensemble de wrapper. Vous pouvez supprimer un élément, effectuer des opérations sur cet élément, puis remettre l'élément dans le DOM, le tout au sein d'une seule chaîne jQuery.
<!DOCTYPE html> <html lang="en"> <body> <div>remove me</div> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script> (function ($) { $('div') .remove().html('<a href="http://www.jQuery.com">jQuery</a>') .appendTo('body'); })(jQuery); </script> </body> </html>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

L'article discute de la création, de la publication et du maintien des bibliothèques JavaScript, en se concentrant sur la planification, le développement, les tests, la documentation et les stratégies de promotion.

L'article traite des stratégies pour optimiser les performances JavaScript dans les navigateurs, en nous concentrant sur la réduction du temps d'exécution et la minimisation de l'impact sur la vitesse de chargement de la page.

Des questions et des solutions fréquemment posées pour l'impression de billets thermiques frontaux pour le développement frontal, l'impression de billets est une exigence commune. Cependant, de nombreux développeurs mettent en œuvre ...

L'article traite du débogage efficace de JavaScript à l'aide d'outils de développeur de navigateur, de se concentrer sur la définition des points d'arrêt, de l'utilisation de la console et d'analyser les performances.

Il n'y a pas de salaire absolu pour les développeurs Python et JavaScript, selon les compétences et les besoins de l'industrie. 1. Python peut être davantage payé en science des données et en apprentissage automatique. 2. JavaScript a une grande demande dans le développement frontal et complet, et son salaire est également considérable. 3. Les facteurs d'influence comprennent l'expérience, la localisation géographique, la taille de l'entreprise et les compétences spécifiques.

L'article explique comment utiliser les cartes source pour déboguer JavaScript minifiée en le mappant au code d'origine. Il discute de l'activation des cartes source, de la définition de points d'arrêt et de l'utilisation d'outils comme Chrome Devtools et WebPack.

Comment fusionner les éléments du tableau avec le même ID dans un seul objet en JavaScript? Lors du traitement des données, nous rencontrons souvent la nécessité d'avoir le même ID ...

JavaScript est la pierre angulaire du développement Web moderne, et ses principales fonctions incluent la programmation axée sur les événements, la génération de contenu dynamique et la programmation asynchrone. 1) La programmation axée sur les événements permet aux pages Web de changer dynamiquement en fonction des opérations utilisateur. 2) La génération de contenu dynamique permet d'ajuster le contenu de la page en fonction des conditions. 3) La programmation asynchrone garantit que l'interface utilisateur n'est pas bloquée. JavaScript est largement utilisé dans l'interaction Web, les applications à une page et le développement côté serveur, améliorant considérablement la flexibilité de l'expérience utilisateur et du développement multiplateforme.
