0

私は初心者のコーダーで、英語がとても下手なので、前もってお詫びします。私は次のCSSを持っています:

#wrapper{
    width: 200px;
    height: 300px;
    border: solid 1px #000; 
    overflow: visible;
    white-space: nowrap;
}
.page{
    display: inline-block;
    margin-right: -4px;
    width: 200px;
    height: 300px;
}
#page1{
    background-color: #CF9; 
}
#page2{
    background-color: #FC9;
}
#page3{
    background-color: #99F;
}
h1{
    color: white;   
}

HTML:

<div id="wrapper">
<div class="page" id="page1"><h1>page1</h1>
<ul>
<li><a href="#page1">page 1</a></li>
<li><a href="#page2">page 2</a></li>
<li><a href="#page3">page 3</a></li>
</ul>
</div>
<div class="page" id="page2"><h1>page1</h1>
<ul>
<li><a href="#page1">page 1</a></li>
<li><a href="#page2">page 2</a></li>
<li><a href="#page3">page 3</a></li>
</ul>
</div>
<div class="page" id="page3"><h1>page1</h1>
<ul>
<li><a href="#page1">page 1</a></li>
<li><a href="#page2">page 2</a></li>
<li><a href="#page3">page 3</a></li>
</ul>
</div>
</div>

そしてJquery:

$( document ).ready(function() {
    $(".page a").click(function(){
        fromURL=$(this).closest(".page").attr("id");
        toURL = $(this).attr("href");
        $(toURL).insertAfter(fromURL);
        //$("#page3").insertAfter("#page1"); //this works
        })


    });

.insertAfter は vars では機能しないようです。どうすればこれを達成できますか?

4

1 に答える 1

3

fromURLはハッシュ記号なしのIDなので、jQueryには要素名のように見えるので何も選択しません。IDセレクターにすることができます:

$(toURL).insertAfter("#" + fromURL);

とにかく要素があります。身分証明書が必要な人

var page = $(this).closest(".page");
var toURL = $(this).attr("href");
$(toURL).insertAfter(page);

ところで、変数を宣言してください。暗黙のグローバルは良くありません。Strict モードと JSHint がこれに役立ちます。

于 2014-03-11T20:47:53.337 に答える