我想基于某种语言按钮选择器动态更改此图片的href:
jQuery(document).ready(function($) {
var shownLang = Cookies.get('site_lang');
if (shownLang == 'de') {
$(".meranoiden").prop("href", "https://www.youtube.com/");
// document.getElementById("meranoiden").setAttribute("href", "https://www.youtube.com/");
console.log("enters here");
console.log($('.meranoiden').prop('href'));
}
});
<div class="meranologoen">
<div lang = "en" class="ui centered grid ">
<a class ="meranoiden" lang = "en" href="https://www.facebook.com/" target="_blank"> <img class="merano-logo" src="assets/imgextra/logo/merano.png"> </a>
</div>
</div>
由于某些未知原因,如果调用if语句,DOM不会将我的youtube链接替换为facebook。
但是在控制台中,当我要检查console.log时,我可以清楚地看到:
enters here
https://www.youtube.com/
但是当我检查图片时,href上仍然会有旧的Facebook URL。
我尝试过:
document.getElementById("meranoiden").setAttribute("href", "https://www.youtube.com/");
和
$(".meranoiden").attr("href", "https://www.youtube.com/");
相同的行为,href不会改变的原因可能是什么?
答案 0 :(得分:1)
您应该使用attr
而不是prop
jQuery(document).ready(function($) {
var shownLang = Cookies.get('site_lang');
if (shownLang == 'de') {
$(".meranoiden").attr("href", "https://www.youtube.com/");
console.log($('.meranoiden').attr('href'));
}
});
答案 1 :(得分:1)
请检查您的代码:
因为我删除了条件(if)语句,所以您的代码正确无误,并且运行正常。因此,请仔细检查并重试。