find()工作不正常。无法找到跨度

时间:2016-06-01 09:52:49

标签: jquery html

尝试通过查找并使用innterHTML来填补范围但由于某种原因它不会做任何事情。没有错误,没有成功,没有打印任何东西。出了什么问题?

<label class="myClass" data-id="1"><input type="checkbox" name="group" value="my_value">my value<span class="left" ></span></label>andmoreandmore

我把它放在for循环中以获取类

var element = $('.myClass')[i];

var numberThing = 50 - count;
$(element).find("span").innerHTML = numberThing + ' plekken vrij';

3 个答案:

答案 0 :(得分:2)

出了什么问题是你没有选择正确的跨度,或者更好地说......根本没有

您需要选择span[0],因为您选择的是错误的DOM元素。

var element = $('.myClass')[i];
var numberThing = 50 - count;
$(element).find("span")[0].innerHTML = numberThing + ' plekken vrij';

答案 1 :(得分:1)

使用html()代替innerHTML

&#13;
&#13;
var element = $('.myClass');
var count = 3;
                var numberThing = 50 - count;
                $(element).find("span").html(numberThing + ' plekken vrij');
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <label class="myClass" data-id="1"><input type="checkbox" name="group" value="my_value">my value<span class="left" ></span></label>andmoreandmore
&#13;
&#13;
&#13;

替换

var element = $('.myClass')[i]

var element  = $('.myClass').eq(i);

答案 2 :(得分:0)

只需使用.eq()代替[]。因为$('。myClass')[i]将返回一个dom元素。这意味着使用jquery方法,您需要再次使用$()包装它。

可以使用,而不是这些
$('.myClass').eq(i).find("span").html(numberThing + ' plekken vrij');