使用JQuery在文档加载时,我试图选择每个<img>
并给它一个新属性title
并将其设置为等于属性alt
的值。 title
是用户在元素上悬停时出现在工具提示中的内容。使用控制台,我似乎能够有效地选择每个元素,但是当我将它们放在一起时,似乎出现了一些问题。如何使用JQuery将一个html属性的值更改为不同的属性值?
的HTML:
<ul class="list">
<li><img href="#" src="url" data-toggle="tooltip" data-placement="right" alt="first-tooltip"></li>
<li><img href="#" src="url" data-toggle="tooltip" data-placement="right" alt="second-tooltip"></li>
<li><img href="#" src="url" data-toggle="tooltip" data-placement="right" alt="third-tooltip"></li>
</ul>
的JS:
$(document).ready(function(){
$('[data-toggle="tooltip"]').tooltip(); //enable tooltips
$('.list li').children().each(function(){ //perform function on each <a>
var thisAltText = $(this).attr('alt'); //select the alt value
$(this).attr('title', thisAltText); //set title value to equal alt value
});
});
正如你所看到的,这是行不通的:http://codepen.io/shawnmurtagh/pen/ZpVgkz
仅供参考 - 我使用.children()
,因为我需要选择不同的列表项在我的实际项目中。
你的意思是'$(本)的''而不是$( '本')'?顺便说一下, – Li357
'alt'不是''上的有效属性。您可能只想更正您的HTML。 –
是的,谢谢 - 尽管如此,似乎仍然无法正常工作。 – smurtagh