recargar eventos evento elementos elemento dinámicamente dinamico dinamicamente crear creados con capturar asociar agregar jquery replace keyword

eventos - jquery dinamico



Cómo convertir palabra clave en un sitio en enlaces con jQuery (2)

Estoy tratando de convertir un conjunto de palabras clave en enlaces en mi sitio. Actualmente estoy usando este código que convertirá una palabra clave en un enlace. Sin embargo, ahora quiero expandirlo para tener varias palabras. El enlace siempre será el mismo, sin embargo, la palabra clave cambia, por lo que el texto del enlace también debe reflejar eso.

Aquí está el código que estoy usando actualmente:

<script type="text/javascript"> (function($) { var thePage = $("body"); thePage.html(thePage.html().replace(/Wedding Stationery/ig, ''<a class="discrete" href="http://www.kateguest.com">wedding stationery</a>'')); })(jQuery) </script>

¿Cómo puedo expandir esto para usar 5 o 6 palabras clave?


Haz el reemplazo en un bucle. Puede usar $& en el reemplazo para referirse al texto que coincidió.

var keywords = [''wedding stationery'', ''something else'', ''other keyword'']; var thePage = $("body"); var theHtml = thePage.html(); for (i = 0; i < keywords.length; i++) { theHtml = theHtml.replace(new RegExp(keywords[i], ''ig''), ''<a class="discrete" href="http://www.kateguest.com">$&</a>''); } thePage.html(theHtml);

MANIFESTACIÓN


Sugeriría algo como esto:

var keywordsArray = ["place", "all", "of the", "keywords in here like this"]; var thePage = $("body"); for (var i = 0; i < keywordsArray.length; i++) { thePage.find(":contains("+keywordsArray[i]+")").each(function(){ var _this = $(this); var content = _this.html(); content.replace(keywordsArray[i], ''<a href="discrete" href="http://whateveryouwant.com/">'' + keywordsArray[i] + ''</a>''); _this.html(content); }); };