与href#anchor的链接不会打开#div

时间:2017-04-25 06:32:25

标签: jquery html css anchor href

我在根据选项值打开div的站点中放置了一个选择选项列表。当你在网站时,这很好。但是,如果我直接在x.ro/y.html#3地址栏中调用该链接,则会向我显示div #1而不是div #3

以下是代码(div id 1为display: none,div id 2为display: block):

$(function() {
  $('#articole').change(function(){
    $('.tiparticol').hide();
    $($(this).val()).show();
  });
});
<select id="articole"  onChange="window.location.href=this.value">
  <option value="#1">1</option>
  <option value="#2" select="selected">2</option>
</select>

谢谢!

2 个答案:

答案 0 :(得分:2)

默认情况下,您不会获得此行为。您需要检查加载时的window.location.hash并设置适当的值。

另请注意,您应从HTML中删除onChange="window.location.href=this.value"属性。您可以在不显眼的jQuery change处理程序中进行设置。试试这个:

$(function() {
  // on change
  $('#articole').change(function() {
    window.location.hash = this.value;
    setOption(this.value);
  });

  // on load
  var hash = window.location.hash.substr(1);
  if (hash)
    setOption(hash);
});

function setOption(value) {
  $('.tiparticol').hide();
  $(value).show();
}

答案 1 :(得分:0)

选项属性应为selected,而不是select

查看this working jsfiddle