如何仅使用 jquery javascript 将 class 添加到图像锚点
How to add class to image anchors only with jquery javascript
在 div 和 class tiny-content
中,我有一些图像锚点和文本锚点。是否可以使用 jquery 添加 class,让我们说 lb-anchor
(灯箱锚点)仅添加到图像锚点?
现在是这样的情况:
<div class="tiny-content">
<a href="images/1.jpg"><img src="images/1.jpg" /></a>
<a href="images/2.jpg"><img src="images/2.jpg" /></a>
<a href="images/3.jpg"><img src="images/3.jpg" /></a>
<a href="example.com">Normal link</a>
<a href="example.com">Normal link</a>
</div>
应该是:
<div class="tiny-content">
<a class="lb-anchor" href="images/1.jpg"><img src="images/1.jpg" /></a>
<a class="lb-anchor" href="images/2.jpg"><img src="images/2.jpg" /></a>
<a class="lb-anchor" href="images/3.jpg"><img src="images/3.jpg" /></a>
<a href="example.com">Normal link</a>
<a href="example.com">Normal link</a>
</div>
$(".tiny-content a:has(img)").addClass( "lb-anchor" );
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="tiny-content">
<a href="images/1.jpg"><img src="images/1.jpg" /></a>
<a href="images/2.jpg"><img src="images/2.jpg" /></a>
<a href="images/3.jpg"><img src="images/3.jpg" /></a>
<a href="example.com">Normal link</a>
<a href="example.com">Normal link</a>
</div>
您可以使用此查询和 .addClass()
$('div.tiny-content > a[href^=images]').addClass('lb-anchor')
.lb-anchor {
margin: 10px
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="tiny-content">
<a href="images/1.jpg"><img src="images/1.jpg" /></a>
<a href="images/2.jpg"><img src="images/2.jpg" /></a>
<a href="images/3.jpg"><img src="images/3.jpg" /></a>
<a href="example.com">Normal link</a>
<a href="example.com">Normal link</a>
</div>
参考
是的。
你可以在 addClass() 之前尝试 parent()
函数。
所以您只需:
$('.tiny-content a img').parent().addClass('lb-anchor');
它将指向锚而不是 img
在 div 和 class tiny-content
中,我有一些图像锚点和文本锚点。是否可以使用 jquery 添加 class,让我们说 lb-anchor
(灯箱锚点)仅添加到图像锚点?
现在是这样的情况:
<div class="tiny-content">
<a href="images/1.jpg"><img src="images/1.jpg" /></a>
<a href="images/2.jpg"><img src="images/2.jpg" /></a>
<a href="images/3.jpg"><img src="images/3.jpg" /></a>
<a href="example.com">Normal link</a>
<a href="example.com">Normal link</a>
</div>
应该是:
<div class="tiny-content">
<a class="lb-anchor" href="images/1.jpg"><img src="images/1.jpg" /></a>
<a class="lb-anchor" href="images/2.jpg"><img src="images/2.jpg" /></a>
<a class="lb-anchor" href="images/3.jpg"><img src="images/3.jpg" /></a>
<a href="example.com">Normal link</a>
<a href="example.com">Normal link</a>
</div>
$(".tiny-content a:has(img)").addClass( "lb-anchor" );
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="tiny-content">
<a href="images/1.jpg"><img src="images/1.jpg" /></a>
<a href="images/2.jpg"><img src="images/2.jpg" /></a>
<a href="images/3.jpg"><img src="images/3.jpg" /></a>
<a href="example.com">Normal link</a>
<a href="example.com">Normal link</a>
</div>
您可以使用此查询和 .addClass()
$('div.tiny-content > a[href^=images]').addClass('lb-anchor')
.lb-anchor {
margin: 10px
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="tiny-content">
<a href="images/1.jpg"><img src="images/1.jpg" /></a>
<a href="images/2.jpg"><img src="images/2.jpg" /></a>
<a href="images/3.jpg"><img src="images/3.jpg" /></a>
<a href="example.com">Normal link</a>
<a href="example.com">Normal link</a>
</div>
参考
是的。
你可以在 addClass() 之前尝试 parent()
函数。
所以您只需:
$('.tiny-content a img').parent().addClass('lb-anchor');
它将指向锚而不是 img