我有 2 个执行相关操作的 jQuery 片段。
第一个是这个。
$(document).on('click', "[class*='fs-']", function(e) {
var c = $(this).attr('class'); // I read the class of the element
c = c.slice(c.indexOf('fs-')) // I delete any classes prior to the desired one
.split(' ')[0] // I delete any classes following the desired one
.slice('fs-'.length); // I delete the "fs" from the class
$("[data-value="+ c +"]").click(); // If the element exists, then it simulates a click on it.
});
这段代码的效果是获取被点击元素的“切片”类,并找到另一个具有匹配类的元素并点击它。
第二个 jQuery 片段就是这个。
$(".show-welcome").click(function () {
$.each(FWP.facets, function(name, val) {FWP.facets[name] = [];}); /* clear all */
FWP.facets['chapter'] = ['welcome']; /* make selection */
FWP.is_reset = true; // don't parse facets
FWP.refresh();
});
该片段作用于 Wordpress 插件 FacetWP 的 javascript 引擎,实际上它具有清除所有方面然后从单个方面进行预定义选择的效果。在这种情况下,它从 facet 'chapter' 中选择选项'welcome'。
所以我需要在第二个片段中添加相同的动态质量。它可能看起来像这样......
$(".show-XXX").click(function () {
$.each(FWP.facets, function(name, val) {FWP.facets[name] = [];}); /* clear all */
FWP.facets['chapter'] = ["the clicked element less the 'show-' part"]; /* make selection */
FWP.is_reset = true; // don't parse facets
FWP.refresh();
});
谁能告诉我如何实现这一目标?非常感谢。
结果
因此,在尝试@Reflective 提供的代码时,我发现 FacetWP 对点击做出了两次反应。这是我必须描述它的唯一方式。请参阅所附图片。
我的可点击元素具有类 .chapter .show-designs-four-a