-1

我知道这是一个有点傻的问题,但我仍然找不到答案,也许我搜索的关键字不正确。

我希望有人可以纠正我的 js 表达。

var id = idname;
$('#' + id).hide();

('#' + id) 表达式从控制台出错,我想要 $('# variable ') 什么是正确的表达式$('"#'+xerocon2013'"').

谢谢有人可以让我站起来

更新,

对不起,伙计们,我有美元符号。错误是

无法识别的表达式:#[object HTMLDivElement]

我昨天测试很好,但今天不起作用..叹息。多么奇怪。我通过我的代码可能不对。

我只是想确保我的表达是正确的。如果我的表达没有错误,那么就是我的代码。

代码

<script type="text/javascript">
$(function(){
       $(window).bind("load", function () {
              var urlHash = window.location.href.split("#")[1];
                $('html,body').animate({ scrollTop: $('#' + urlHash).offset().top}, 1000);
    }); 
});
    </script>

<style type="text/css">
.space{height:800px;}
#anchor{font-size:25px;height:800px;display:block;}
</style>



<div class="space"></div>
<div id="anchor">This is anchor</a>

谢谢大家。

4

2 回答 2

2

因此,有了错误,问题就在于没有返回散列。所以如果没有哈希,你正在寻找一个带有 $("#") 的元素

var urlHash = window.location.href.split("#")[1];
$('html,body').animate({ scrollTop: $('#' + urlHash).offset().top},

window.location 具有哈希属性,因此没有理由拆分

var urlHash = window.location.hash;
if (urlHash.length>1) {
    var elemPosition = $(urlHash).offset().top;
} else {
    elemPosition = 0;
}
$('html,body').animate({ scrollTop: elemPosition }, 1000);
于 2012-11-01T21:00:10.930 回答
1

你不是缺少 jQuery 标识符吗?

var id = 'my_dynamic_id';
$("#" + id).hide();
于 2012-11-01T21:01:04.570 回答