2010-01-24 69 views
2

嘿,我想为下面的脚本动态地获取类名。如何获取类名?

我有不同的类名是通过PHP创建的,所以需要动态地使用jQuery来获取它们。

正如您在下面看到的,似乎有2个区域需要获取类名。目前,它是硬编码的(班被命名为 '结果'):

1)VAR NEW_CONTENT = $( '#hiddenresult div.result:EQ( '+ + PAGE_INDEX')')的clone() ;

2)var num_entries = $('#hiddenresult div.result').length;

所以,我想让jquery获取类名,而不是我刚刚编码它,如下所示。

jQuery的文件:

<script type="text/javascript"> 

     function pageselectCallback(page_index, jq){ 
     var new_content = $('#hiddenresult div.result:eq('+page_index+')').clone(); 
     $('#Searchresult').empty().append(new_content); 
     return false; 
    } 

    /** 
    * Callback function for the AJAX content loader. 
    */ 
    function initPagination() { 
     var num_entries = $('#hiddenresult div.result').length; 
     // Create pagination element 
     $("#Pagination").pagination(num_entries, { 
      num_edge_entries: 2, 
      num_display_entries: 8, 
      callback: pageselectCallback, 
      items_per_page:1 
     }); 
    } 

    // Load HTML snippet with AJAX and insert it into the Hiddenresult element 
    // When the HTML has loaded, call initPagination to paginate the elements   
    $(document).ready(function(){  
     initPagination(); 
    }); 
</script> 

上实现解决方案的任何帮助将是巨大的。谢谢

+0

你可以发布你的HTML标记的样本吗? – 2010-01-24 00:47:53

回答

1

如果我理解正确,你希望你的代码工作,无论给予div的类。 (但有些班级将给予)

如果是使用

var new_content = $('#hiddenresult div[class]:eq('+page_index+')').clone(); 

var num_entries = $('#hiddenresult div[class]').length; 

这意味着找到具有已定义的类属性(下#hiddenresult任何DIV不管实际的类名称..)

+0

非常感谢,完美的工作。 – 2010-01-24 01:22:20

+1

在相关说明中,我建议使用'.eq(page_index)'函数而不是':eq'选择器。在我的博客的解释在这里:http://spadgos.com/?p=51 – nickf 2010-01-24 01:34:53

+0

尼斯抓到尼克,谢谢你的头。 – 2010-01-24 01:58:34

0

您可以像这样获取类属性的内容:
$("#hiddenresult div").attr("class");
注意:如果您的元素有多个类分配给它,这可能不适用于您。

您也可以使用此:
$("#hiddenresult div").hasClass("result");
要检查元素是否有特定的类。