Jquery 根据类名加载页面

Jquery 根据类名加载页面,jquery,class-names,Jquery,Class Names,我的页面上有这样的代码: <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 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>

我希望jquery中有一些东西,这样当单击一个类为“item”的div时,它将从页面加载另一个div,页面的文件名将取决于单击的div。我希望它最好能加载:

something.php?type=item\u 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>

$(“#itemstable div”)。单击(函数(){
var url=“something.php?type=“+$(this.parent().attr(“class”)+”id=“+$(this.attr(“class”)”;
警报(url);
}); 

重复Spencer Ruport的回答,当使用jQuery使用自定义属性而不是类时,您可以使这变得更容易

例如,您的DIV可能如下所示:

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

当然,不要忘了检查有效性,永远不要相信用户输入(恶意用户可能会重写HTML)。

响应Spencer Ruport的回答,使用jQuery使用自定义属性而不是类时,可以使这更容易

例如,您的DIV可能如下所示:

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

当然,不要忘记检查有效性,永远不要相信用户输入(恶意用户可能会重写HTML)。

对于XHTML有效文档,最简单的方法是在主DIV下添加不可见的子DIV。例如:

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

一点意见:应避免将数据与UI混合。

对于XHTML有效文档,最简单的方法是在主DIV下添加不可见的子DIV。例如:

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

一点意见:应避免将数据与UI混合。

以这种方式使用class属性有点愚蠢。为什么不使用其他属性来保存中的值?我使用atribute类,因为每个类都应用了一些css。“item”设置宽度/高度,“item_wall”设置背景图像,“id*”设置背景位置。从技术上讲,两个答案都不是公认的答案,因此我不会接受其中一个,但它们都帮助了我。谢谢Adrian Godong以这种方式使用class属性有点傻。为什么不使用其他属性来保存中的值?我使用atribute类,因为每个类都应用了一些css。“item”设置宽度/高度,“item_wall”设置背景图像,“id*”设置背景位置。从技术上讲,两个答案都不是公认的答案,因此我不会接受其中一个,但它们都帮助了我。谢谢Adrian Godong如果我添加自定义属性,这难道不意味着我的代码无法验证吗?你也不能对它们应用css,所以我需要重复类型和id,所有3个类都会应用一些css。item=宽度和高度,type=要用作背景的文件,id=背景位置,以便它使用正确的图像。如果您坚持使用有效的XHTML文档,那么您可以坚持使用类声明,并使用字符串操纵来解析“变量”。或者您可以使用display:none创建多个子DIV/SPAN,但包含值(ala XML)。不管怎样,这只是需要做更多的工作。啊,好吧,我想我不需要我的代码来验证,只是觉得这会很好。。。css问题呢?有没有办法不用重复类型和id就可以完成?请参阅我的其他答案。不过,不要将数据与UI混合。如果我添加自定义属性,这难道不意味着我的代码无法验证吗?你也不能对它们应用css,所以我需要重复类型和id,所有3个类都会应用一些css。item=宽度和高度,type=要用作背景的文件,id=背景位置,以便它使用正确的图像。如果您坚持使用有效的XHTML文档,那么您可以坚持使用类声明,并使用字符串操纵来解析“变量”。或者您可以使用display:none创建多个子DIV/SPAN,但包含值(ala XML)。不管怎样,这只是需要做更多的工作。啊,好吧,我想我不需要我的代码来验证,只是觉得这会很好。。。css问题呢?有没有办法不用重复类型和id就可以完成?请参阅我的其他答案。不过,不要将数据与UI混用。感谢所有的帮助/代码,我想我将使用您的其他解决方案,只需包含两次类型和id(一次在类中,另一次作为自定义属性)。我正在努力使我的代码尽可能小,这就是为什么我不选择这个选项。实际上,我只是想将“item”和“item_wall”类应用于父div,从而在代码中节省大量空间,然后我将使用css设置子div的宽度。以前从未尝试过,但我认为它会起作用……感谢所有的帮助/代码,我想我将使用您的其他解决方案,只包含两次类型和id(一次在类中,另一次作为自定义属性)。我正在努力使我的代码尽可能小,这就是为什么我不选择这个选项。实际上,我只是想将“item”和“item_wall”类应用于父div,从而在代码中节省大量空间,然后我将使用css设置子div的宽度。以前从未尝试过,但我认为它会起作用。。。