質問

私は自分のページにこのようなコードを持ってます:

<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をロードするように、私はjqueryの中に何かをしたい、ページのファイル名は、div要素がクリックさに依存します。好ましく私は負荷にそれをしたいと思います:

  

something.php?タイプ= 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>
役に立ちましたか?

解決

使用するjQueryのを使用すると、カスタムクラス以外の属性のとき

スペンサーRuportの答えをエコー、あなたはこれを簡単に作ることができます。

たとえば、あなたの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は、悪意のあるユーザーによって書き直し可能な)ユーザー入力を信用したことがない、妥当性をチェックすることを忘れないでください。

他のヒント

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とのデータは避けるべきである

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top