我有一个响应式网站,其导航更改为800px下的选择列表。我正在使用的代码没有链接到任何页面 - 它丢失了原始链接。我需要添加什么才能使其工作?非常感谢您的帮助。
var options = '<option selected>Navigate to...</option>';
$('nav').find('a').each(function () {
var text = $(this).text(),
depth = $(this).parent().parents('ul').length,
depthChar = '',
i = 1;
for (i; i < depth; i++) { depthChar += '↳ '; }
options += '<option>' + depthChar + text + '</option>';
});
$('<select />').append(options).appendTo('nav');
答案 0 :(得分:0)
如果您希望将选项重定向到链接,首先需要保存链接标记中的href:link = $(this).attr('href')
,然后将其设置为选项的值:options += '<option value="' + link +'">' + depthChar + text + '</option>';
现在,您可以在select change事件上访问该链接并设置窗口重定向:
$('select').change(function() {
window.location.href = $(this).find("option:selected").val();
});
以下是一个例子:https://output.jsbin.com/zodepedive/
我建议您使用ID或类来选择元素,而不是按标记选择元素,这样就不会对页面上的每个元素执行此操作。