Jquery只加载以某个字符串结尾的元素

时间:2014-01-27 17:35:47

标签: jquery

首先我对jquery很新。我想使用.load()功能,但同一个文件用于一页上的几个地方。理想情况下,我希望#element成为一个变量,但是我自己也不知道我能做到这一点。我想知道是否有办法让这个加载函数适用于以某个字符串结尾的所有元素,或者如果你需要给它完整的元素id?我很难说这是我的意思,但我的代码可能有助于清除它。

function RateItem(varItemId, varRate)
{
$.ajax({
url:"ajax.rate.item.php",
type:"POST",
data:{item:varItemId,rating:varRate},
success:function(ReloadRating){
$("#stars").load("index.php #stars")
alert(ReloadRating);
}
});
}

这是一个星级评分系统。我有几个div元素将使用相同的代码,所有这些元素的id都以'_stars'结尾。代替#stars元素,我希望有一种方法来调用以此结尾的所有div元素,或者理想情况下具有类似的东西:

$("varItemId + _stars").load("index.php varItemId + _stars");

玩这个有一段时间我没有任何运气让这个工作,除非我指定一个确切的div Id。有没有人有关于如何以某种方式将这项工作变成.load语句的想法:

[div$='_stars']

以上来自here

1 个答案:

答案 0 :(得分:0)

您需要做的是首先通过结尾选择元素 - 使用选择器,id属性:

$('[id$="_stars"]')

然后用它来加载每个网址:

$('[id$="_stars"]').each(function() {
    $(this).load("index.php #"+this.id);
});

这将遍历ID为_stars的每个元素,对于每个元素,它将加载index.php,其URL片段设置为与定义的ID相同元件。