如何正确使用href =“#someID”?

时间:2011-09-07 19:09:48

标签: jquery events html href

基本上,我想要一个链接列表,每个链接都会显示一个div。我已经设置了所有内容以便这样做,但我不知道哪些事件被触发,以及按什么顺序。我想添加功能,以便在显示其中一个div时运行javascript。但到目前为止使用的代码如下:

<a href="#div1" onclick="some_script()" />

在实际显示div之前调用some_script()。这对我来说没用,因为我在显示div之后试图让某个输入框被聚焦。

任何人都可以告诉我哪些jquery事件被触发,或者我可以使用jquery事件,这样我可以在向用户显示div之后运行some_script()吗?

2 个答案:

答案 0 :(得分:2)

你可以使用这样的东西

$(document).ready(function(){
    $('a').click(function(){ //attaches click event to all 'a' elements on page
        var div = $(this).attr("href").substr(1); //gets the div
        $(div).show(); //show the div
    });
});

此链接应该让您开始使用jQuery。 http://docs.jquery.com/Main_Page

答案 1 :(得分:1)

如果我理解你的要求:

<强> HTML

<p><a href="#div_one" class="trigger">1st div</a></p>
<p><a href="#div_two" class="trigger">2nd div</a></p>
<div id="div_one">
    Some content
    <input type="text" name="input1" class="input">
</div>
<div id="div_two">
    Some more content
     <input type="text" name="input2" class="input">
</div>

<强> CSS

div {
    border: 2px solid green;
    background-color: lightgreen;
    color: black;
    display: none;
    margin: 10px;
    padding: 5px;
}

<强>的JavaScript

$('.trigger').click(function(e) {
    e.preventDefault();
    var target_div = $(this).attr('href');
    $(target_div).toggle();
    $(target_div).find('.input').focus();
});

jsFiddle演示:http://jsfiddle.net/byuPL/