您好'我试图通过jquery获得价值并没有成功。
我用ajax得到的这部分代码及其改变(它是function.php中循环的一部分)
if ($termschildren) {
echo '<ul class="BlaBla">';
foreach ( $termschildren as $termchildren ) {
echo '<li class="BlaBlaLi">';
echo '<a href="#" class="tax-filter-children" title="' . $c_term_name->slug . '" data-filter=".pcat'.$taxonomy_id.'.pcat'.$c_term_name->term_id.'">' . $c_term_name->name . '</a>';
echo '</li>';
echo '</ul>';
} else {
echo ' ';
}
die();
ajax将返回名为&#39; childrens_world&#39;
的divecho '<div class="childrens_world">';
echo ' '; //for start
echo '</div>';
这是我使用的jquery。我无法获得数据过滤器值。 (循环很好,在源代码中我看得很清楚)
$filterLinksChildren = $('.tax-filter-children');
$('.childrens_world').on("click", $filterLinksChildren, function(e) {
var filt = $filterLinksChildren.data('filter');
//do something;
)};
我使用数据过滤器(var filt)发送到同位素jquery函数
感谢您的帮助
答案 0 :(得分:0)
您可以尝试使用替代值来获取data
值。使用attr
var filt = $filterLinksChildren.attr('data-filter');
答案 1 :(得分:0)
一些小修正:
将以下内容设为字符串变量,而不是jQuery选择器。
从:
$filterLinksChildren = $('.tax-filter-children');
要
filterLinksChildren = '.tax-filter-children';
在功能结束时显然有一个小的印刷错误:
)};
实际应该是});
因此,您的完整解决方案将如下所示:
filterLinksChildren = ".tax-filter-children";
$('.childrens_world').on("click", filterLinksChildren, function(e) {
alert($(this).data("filter"));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="childrens_world">
<ul class="BlaBla">
<li class="BlaBlaLi">
<a href="#" class="tax-filter-children" data-filter="a1">a1
</a>
</li>
<li class="BlaBlaLi">
<a href="#" class="tax-filter-children" data-filter="a2">a2
</a>
</li>
<li class="BlaBlaLi">
<a href="#" class="tax-filter-children" data-filter="a3">a3
</a>
</li>
</ul>
</div>
<hr>
<div class="childrens_world">
<ul class="BlaBla">
<li class="BlaBlaLi">
<a href="#" class="tax-filter-children" data-filter="b1">b1
</a>
</li>
<li class="BlaBlaLi">
<a href="#" class="tax-filter-children" data-filter="b2">b2
</a>
</li>
<li class="BlaBlaLi">
<a href="#" class="tax-filter-children" data-filter="b3">b3
</a>
</li>
</ul>
</div>