问问题
1172 次
4 回答
4
您可以抓取图像,清除锚点,然后将图像放回原处:
$j('#gkComponent .productdetails-view .product-related-products .product-field-type-R span.product-field-display a').each(function() {
var $this = $(this);
var img = $this.find('img').detach();
$this.empty().append(img);
});
或者通过 DOM 从锚点中删除所有文本节点,保持img
元素完整:
$j('#gkComponent .productdetails-view .product-related-products .product-field-type-R span.product-field-display a').each(function() {
var node, nextNode;
node = this.firstChild;
while (node) {
nextNode = node.nextSibling;
if (node.nodeType === 3) { // 3 = text node
node.parentNode.removeChild(node);
}
node = nextNode;
}
});
于 2013-05-04T17:24:22.957 回答
1
由于 jQuery 不能很好地处理文本节点,一种方法是在纯 JS 中处理它:
$('span.product-field-display a').each(function() {
var nodes = this.childNodes;
for (var i = nodes.length - 1; i >= 0; --i) {
if (nodes[i].nodeType == 3) {
this.removeChild(nodes[i]);
}
}
});
于 2013-05-04T17:40:12.067 回答
1
你可以试试这个
$('.product-field-display a').filter(function(){
return $(this).html($(this).find('img'));
});
于 2013-05-04T17:33:35.613 回答
1
试试这个对我有用
$('#AddToWishList').click(function(e) {
e.preventDefault();
var dt ='Product_ID=1';
var $this = $(this);
var img = new Image();
img.src="images/progress.gif";
$this.empty().append(img);
$.post('ajax/add_wish.php', dt, function(data) {
$this.empty().append('<i class="fa fa-star"></i>Wishlist');
$this.attr('class','btn btn-block btn-primary');
$this.attr('disabled','disabled');
});
});
<a class="btn btn-block btn-default" href="JavaScript:;;" id="AddToWishList"><i class="fa fa-star"></i>Wishlist</a>
于 2016-06-12T16:15:02.950 回答