Javascript 在each函数中使用jQuery索引
我实际上有两个问题 首先,我想计算html页面中的百分比,并通过附加javascript返回它。这很好,但它在所有地方都设置了相同的值。我想我需要这样的东西,但我找不到如何让它发挥作用。each函数不在is li中,而是将其设置为无处不在 另一个问题是Javascript 在each函数中使用jQuery索引,javascript,each,Javascript,Each,我实际上有两个问题 首先,我想计算html页面中的百分比,并通过附加javascript返回它。这很好,但它在所有地方都设置了相同的值。我想我需要这样的东西,但我找不到如何让它发挥作用。each函数不在is li中,而是将其设置为无处不在 另一个问题是var getalfavconvert=parseFloat(getalfav.substring(1))出于某种原因,它返回一个奇怪的值。var getalconvert=parseFloat(getal.substring(1))工作正常。我认
var getalfavconvert=parseFloat(getalfav.substring(1))代码>出于某种原因,它返回一个奇怪的值。var getalconvert=parseFloat(getal.substring(1))另一方面,代码>工作正常。我认为这和链接有关
另一个问题是
$(".thing-shot ul").prepend('<li class="hammer">10%</li>');
$('.things li .group').each(function(index) {
// get value from page
var getal = $('.current-user-view').text();
var getalfav = $('.fav.marked a').text();
// convert value to float
var getalconvert = parseFloat(getal.substring(1));
var getalfavconvert = parseFloat(getalfav.substring(1));
//make a percentage calculation
var gedeeld = getalconvert/getalfavconvert;
var percentage = gedeeld*100;
// Set percentage in html
$(".hammer").text(percentage);
});
$(“.thing shot ul”).prepend('li class=“hammer”>10%);
$('.things li.group')。每个(函数(索引){
//从页面获取值
var getal=$('.current user view').text();
var getalfav=$('.fav.marked a').text();
//将值转换为浮点值
var getalconvert=parseFloat(getal.substring(1));
var getalfavconvert=parseFloat(getalfav.substring(1));
//计算百分比
var gedeeld=getalconvert/getalfavconvert;
风险值百分比=gedeeld*100;
//在html中设置百分比
$(“.hammer”)。文本(百分比);
});
以下是html中li的结构:
<li id="screenshot-2081" class="group">
<div class="athing">
<div class="thing-shot">
<div class="thing-img">
<a href="go.html" class="link"><img alt="teaser" src="teaser.png?1310142565" /></a>
</div>
<ul class="tools group">
<li class="fav marked">
<a href="go.html">21</a>
</li>
<li class="cmnt current-user-cmnt
">
<a href="#">6</a>
</li>
<li class="views current-user-view">
276
</li>
</ul>
</div>
<div class="extras">
</div>
</div>
</li>
-
-
-
276
当您选择某个类的所有对象时,您遇到的“到处更改所有内容”问题非常常见。您要做的是在使用时查找每个对象的子对象。each()
使用$(this)
,使用选择器
我编辑了jQuery以反映这些更改:
$(".shot ul").prepend('<li class="hammer">0%</li>');
$('.things li .group').each(function(index)
{
// get value from page
var getal = $(this).children('.current-user-view').text();
var getalfav = $(this).children('.fav.marked').find("a").text();
// convert value to float
var getalconvert = parseFloat(getal.substring(1));
var getalfavconvert = parseFloat(getalfav.substring(1));
//make a percentage calculation
var gedeeld = getalconvert/getalfavconvert;
var percentage = gedeeld*100;
// Set percentage in html
$(this).children(".hammer").text(percentage);
});
$(“.shot ul”).prepend(“0% ”);
$('.things li.group')。每个(函数(索引)
{
//从页面获取值
var getal=$(this).children('.current user view').text();
var getalfav=$(this).children('.fav.marked').find(“a”).text();
//将值转换为浮点值
var getalconvert=parseFloat(getal.substring(1));
var getalfavconvert=parseFloat(getalfav.substring(1));
//计算百分比
var gedeeld=getalconvert/getalfavconvert;
风险值百分比=gedeeld*100;
//在html中设置百分比
$(此).children(“.hammer”).text(百分比);
});
编辑
如果您查看上面的代码,您将看到
var getalfav=$(this).children('.fav.marked').find(“a”).text()代码>
这里的关键是。查找(“a”)
-实际的,例如:-)您有一些hammer类的元素吗?它们(或它)是什么?对不起,忘了它吧,我已经把它添加到javascript中了。此行:$(.shot ul”).prepend('li class=“hammer”>0%)@麦克斯:那么,.shot ul
与.things li.group
有什么关系呢?更改了代码,为了清楚起见,它在.thing shot ul中加了前缀。很抱歉伟大的工作!Thanx,现在还有一个小问题:它什么也不返回:var getalfav=$(this).children('.fav.marked a').text();