我的网站是英文的,但是当页面加载时我想用西班牙语显示它。所以,我从谷歌翻译得到了一个脚本,我把它放在我的头文件中,但是我需要在每个URL的末尾附加一些#googtrans(en|fr)
。到目前为止我所做的是:
$(document).ready(function () {
$('a').each(function () {
this.href += '#googtrans(en|es)';
})
});
但是这个代码的一个问题是,它阻止了我的弹出窗口和引导程序下拉列表。 有没有简单的方法将该尾随字符串放到页面加载的每个URL上。
答案 0 :(得分:2)
过滤掉您不希望应用散列的属性或类的链接:
例如:
$('a').not('[data-toggle], [href^="#"]').prop('hash','#googtrans(en|es)');
如果not()
中的选择器不够,您可以使用更强大的filter()
方法
更理想的方法是在<a>
上设置课程,以表示您想要修改的课程。
<a class="translate">
$('a.translate').prop('hash','#googtrans(en|es)');
OR
<div class="translate">
<a>
</div>
$('.translate a').prop('hash','#googtrans(en|es)');
请注意,使用hash属性与连接href
如果没有看到更多的HTML,很难提供更多帮助
答案 1 :(得分:0)
现在,您使用此代码替换所有<a>
标记。
最佳方式 - 它正在其他div上使用Google Translator块链接,如下所示:
<div id="gtr">
...
</div>
和脚本:
$(document).ready(function () {
$('#gtr a').each(function () {
$(this).attr('href', $(this).attr('href')+'#googtrans(en|es)');
});
});
答案 2 :(得分:-1)
而不是
this.href += “#googtrans(en|es)”;
试试这个:
$(this).attr("href", $(this).attr("href") + "#googtrans(en|es)");