0

私のページには次のようなコードがあります。

<div class="item item_wall id1"></div>
<div class="item item_wall id2"></div>
<div class="item item_wall id3"></div>
<div class="item item_wall id4"></div>
<div class="item item_wall id5"></div>

「アイテム」のクラスを持つdivをクリックすると、ページから別のdivがロードされ、ページのファイル名がクリックされたdivに依存するように、jqueryで何かが必要です。できればロードしたい:

something.php?type=item_wall&id=id1

将来の参考のために、これは私が最終的に得たものです:

<div id="itemstable" class="item_love">
    <div class="id1"></div>
    <div class="id2"></div>
    <div class="id3"></div>
    <div class="id4"></div>
    <div class="id5"></div>
    <div class="id6"></div>
</div>

jQuery:

<script>
$("#itemstable div").click(function(){
    var url = "something.php?type=" + $(this).parent().attr("class") + "id=" + $(this).attr("class");
    alert(url);
}); 
</script>
4

2 に答える 2

2

XHTML の有効なドキュメントの場合、メインの DIV の下に非表示の子 DIV を追加するのが最も簡単です。例えば:

<div class="item">
  <div class="variable type">item_wall</div>
  <div class="variable id">1</div>
</div>

.find() を使用して「カスタム属性」を見つけることができます。例えば:

$(".item").click(function() {
    var type = $(this).find(".type").val();
    var url = "something.php?type=" + type;
    windows.location = url;
});

ちょっとした意見: UI とデータを混在させることは避けるべきです。

于 2009-07-18T01:02:55.817 に答える
1

Spencer Ruport の回答を反映して、jQuery を使用してクラス以外のカスタム属性を使用すると、これを簡単に行うことができます。

たとえば、DIV は次のようになります。

<div class="item" type="item_wall" id="1"></div>

次のような jQuery セレクターとイベントを簡単に作成できます。

$(".item").click(function() {
    var url = "something.php?type=" + $(this).attr("type");
    windows.location = url;
});

もちろん、有効性を確認することを忘れないでください。ユーザー入力を決して信頼しないでください (悪意のあるユーザーによって HTML が書き換えられる可能性があります)。

于 2009-07-18T00:40:21.377 に答える