[英]Jquery change selector based on attr
我有以下html代码段:
<div id="review_sort_section" class="ieSucks">Sort by:
<a href="#" data-uid="date">Date</a>
<a href="#" data-uid="rating">Rating</a>
<a href="#" data-uid="vote">Vote</a>
</div>
我如何在$(document).ready(function(){})
使用以下html更改基于data-uid
attr
值的上述代码a
选择器:
'<a href="#" class="i-wrap ig-wrap-common i-sort-descend-common-wrap ig-wrap-common-r selected">' +
'<i class="i ig-common i-sort-descend-common"></i>Date</a>';
您可以使用属性选择器来获取具有特定属性值的元素。
$('[data-uid="yourvalue"]')
这可能是您要寻找的:
$(document).ready(function(){
$('a[data-uid="date"]').parent().html('<a href="#" class="i-wrap ig-wrap-common i-sort-descend-common-wrap ig-wrap-common-r selected">' +
'<i class="i ig-common i-sort-descend-common"></i>Date</a>');
});
那会产生这个:
<div id="review_sort_section" class="ieSucks">
<a href="#" class="i-wrap ig-wrap-common i-sort-descend-common-wrap ig-wrap-common-r selected">
<i class="i ig-common i-sort-descend-common"></i>Date
</a>
</div>
在这里,您有一个由@mplungjan添加的生动示例: http : //jsfiddle.net/mplungjan/89ZhX
这可能对你有用
$('a[data-uid="yourValue"]').attr('class','your-class-name').html('<i class="i ig-common i-sort-descend-common"></i>Date');
这是您问题的实际答案,尽可能准确-我怀疑您要将DATE包装在
$(function() {
$('#review_sort_section a[data-uid="date"]')
.addClass("i-wrap ig-wrap-common i-sort-descend-common-wrap ig-wrap-common-r selected")
.html('<i class="i ig-common i-sort-descend-common">Date</i>');
});
结果:
<div id="review_sort_section" class="ieSucks">Sort by:
<a href="#" data-uid="date" class="i-wrap ig-wrap-common i-sort-descend-common-wrap ig-wrap-common-r selected"><i class="i ig-common i-sort-descend-common">Date</i></a>
<a href="#" data-uid="rating">Rating</a>
<a href="#" data-uid="vote">Vote</a>
</div>
假设-您可能需要以下代码:
HTML:
<div id="review_sort_section" class="ieSucks">Sort by:
<a href="#" data-uid="Date">Date</a>
<a href="#" data-uid="Rating">Rating</a>
<a href="#" data-uid="Vote">Vote</a>
</div>
jQuery的:
$(function() {
$("#review_sort_section a").on("click",function(e) {
e.preventDefault();
$(this).addClass("i-wrap ig-wrap-common i-sort-descend-common-wrap ig-wrap-common-r selected")
.html('<i class="i ig-common i-sort-descend-common">'+$(this).data("uid")+'</i>')
.siblings().each(function() {
$(this).html($(this).data("uid")).removeClass(); // siblings $(this)
});
// here we call the ajax to load the sorted data
});
});
尝试这样。 使用属性选择器属性等于选择器
$('a[data-uid="yourValue"]');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.