gpt4 book ai didi

javascript - Ajax(过滤器)加载后加载 jQuery 脚本

转载 作者:行者123 更新时间:2023-12-03 07:07:57 25 4
gpt4 key购买 nike

我目前正在同一页面上运行几个 jQuery 脚本,这个特定页面上有一个产品过滤器(使用 ajax)。 http://www.ctagroup.com.au/cta-group-home/products/selector/

我正在使用的一个脚本是这样的:

var $s = jQuery.noConflict();
$s('body').each(function () {
$s(this).html($s(this).html().replace(/(\®)/g, '<sup>®</sup>'));
});

因此,每个 ® 都会在站点范围内相应使用。当单击过滤器选项时,它会返回而不运行我的脚本。

如何让这个脚本在每次使用 ajax 过滤器时再次运行?

最佳答案

我不知道你是否需要这个jQuery.noConflict(); ,我不明白你为什么真的会这么做;但这里有一个没有它的例子。注意我不喜欢你这样做的方式,使用你的页面我集中了一点。您可以根据需要使用选择器定位特定元素来修改它。

在名为 customFixReg 的地方放置一个自定义事件处理程序

jQuery(document).on('customFixReg', function() {
jQuery('.sf-result').find('.prod-cont-selector').find('p')
.filter(':contains("®")').each(function() {
jQuery(this).html(jQuery(this).html()
.replace(/(\®)/g, '<sup>®</sup>'));
});
});

编辑:不喜欢双选择器,这也可以:

jQuery(document).on('customFixReg', function() {
jQuery('.sf-result').find('.prod-cont-selector').find('p')
.filter(':contains("®")').html(function(i, val) {
return val.replace(/(\®)/g, '<sup>®</sup>');
});
});

然后,当;在您需要的地方触发它:

jQuery(document).trigger('customFixReg');

我抓取了一些内容并在这里进行了测试:https://jsfiddle.net/MarkSchultheiss/j787Ljzz/

引用评论,您的页面在页面上的连续行中包含此内容:因此它会根据先前的代码而中断。页面第789行:

 <script>
var $s = jQuery.noConflict();
$s('body').each(function () {
$s(this).html($s(this).html().replace(/(\®)/g, '<sup>®</sup>'));
});
</script>

<script>
jQuery(document).on('customFixReg', function() {
jQuery('ul.sf-result').find('.prod-cont-selector').find('h3,p')
.filter(':contains("®")').each(function() {
jQuery(this).html(jQuery(this).html()
.replace(/(\®)/g, '<sup>®</sup>'));
});
});
</script>

编辑:我发现了一个错误,如果触发器重复出现,它会双重换行,所以我过滤了那些有 child 的 <sup>元素输出。

jQuery(document).on('customFixReg', function() {
jQuery('.sf-result').find('.prod-cont-selector').find('p,h3').filter(':contains("®")')
.filter(function() {
return !$(this).children('sup').length;
})
.each(function() {
jQuery(this).html(function(i, val) {
return val.replace(/(\®)/g, '<sup>®</sup>');
});
});
});

更新的示例:https://jsfiddle.net/MarkSchultheiss/j787Ljzz/4/

关于javascript - Ajax(过滤器)加载后加载 jQuery 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36732391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com