Javascript 在each函数中使用jQuery索引

Javascript 在each函数中使用jQuery索引,javascript,each,Javascript,Each,我实际上有两个问题 首先,我想计算html页面中的百分比,并通过附加javascript返回它。这很好,但它在所有地方都设置了相同的值。我想我需要这样的东西,但我找不到如何让它发挥作用。each函数不在is li中,而是将其设置为无处不在 另一个问题是var getalfavconvert=parseFloat(getalfav.substring(1))出于某种原因,它返回一个奇怪的值。var getalconvert=parseFloat(getal.substring(1))工作正常。我认

我实际上有两个问题

首先,我想计算html页面中的百分比,并通过附加javascript返回它。这很好,但它在所有地方都设置了相同的值。我想我需要这样的东西,但我找不到如何让它发挥作用。each函数不在is li中,而是将其设置为无处不在

另一个问题是
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();