追加时If条件不工作
Jquery If condition not working when appending
我有以下HTML标记:
<ul id="marketQuotes">
<li class="main">
<h4><span class="broker">Achuta Cashew Vengurla </span><span class="place">Vengurla </span><span class="time">25 Aug 10:54AM</span></h4>
<ul class="submenuLevel1">
<li class="subcomm">Kernels-Vengurla</li>
<li class="level1">W180 - 10kg+VAT 5% : Rs. 9000 to 9000 (<span class="no-change">0</span>)</li>
<li class="level1">W210 - 10kg+VAT 5% : Rs. 7600 to 7600 (<span class="no-change">0</span>)</li>
<li class="level1">W240 - 10kg+VAT 5% : Rs. 6600 to 6600 (<span class="no-change">0</span>)</li>
<li class="level1">W320 - 10kg+VAT 5% : Rs. 5700 to 5700 (<span class="no-change">0</span>)</li>
<li class="level1">W400 - 10kg+VAT 5% : Rs. 5100 to 5100 (<span class="no-change">0</span>)</li>
<li class="level1">JH - 10kg+VAT 5% : Rs. 5200 to 5200 (<span class="no-change">0</span>)</li>
<li class="level1">K - 10kg+VAT 5% : Rs. 4900 to 4900 (<span class="no-change">0</span>)</li>
<li class="level1">LWP - 10kg+VAT 5% : Rs. 4600 to 4600 (<span class="no-change">0</span>)</li>
<li class="level1">S - 10kg+VAT 5% : Rs. 5000 to 5000 (<span class="no-change">0</span>)</li>
</ul>
</li>
<li class="main">
<h4>Achuta Cashew Vengurla-Vengurla - 25 Aug 10:54AM</h4>
<ul class="submenuLevel1">
<li class="subcomm">Kernels-Vengurla</li>
<li class="level1">S - 10kg+VAT 5% : Rs. 5000 to 5000 (<span class="no-change">0</span>)</li>
<li class="level1">LWP - 10kg+VAT 5% : Rs. 4600 to 4600 (<span class="no-change">0</span>)</li>
<li class="level1">K - 10kg+VAT 5% : Rs. 4900 to 4900 (<span class="no-change">0</span>)</li>
<li class="level1">JH - 10kg+VAT 5% : Rs. 5200 to 5200 (<span class="no-change">0</span>)</li>
<li class="level1">W400 - 10kg+VAT 5% : Rs. 5100 to 5100 (<span class="no-change">0</span>)</li>
<li class="level1">W320 - 10kg+VAT 5% : Rs. 5700 to 5700 (<span class="no-change">0</span>)</li>
<li class="level1">W240 - 10kg+VAT 5% : Rs. 6600 to 6600 (<span class="no-change">0</span>)</li>
<li class="level1">W210 - 10kg+VAT 5% : Rs. 7600 to 7600 (<span class="no-change">0</span>)</li>
<li class="level1">W180 - 10kg+VAT 5% : Rs. 9000 to 9000 (<span class="no-change">0</span>)</li>
</ul>
</li>
</ul>
通过ajax调用初始附加.main
li的按钮单击。然后在ul
列表中再添加一个li,以此类推。我使用这个脚本上的按钮点击添加跨度'h4
的样式:
$(function () {
$('#marketQuotes .main').each(function () {
if ($(this).find('span').length) {
console.log('yes');
// found!
} else {
console.log('no');
$('.main h4').html(function () {
var txt = $(this).text();
var classes = ['broker', 'place', 'time'];
$(this).html($.map(txt.split(/-/), function (val) {
return $('<span/>', {
'class': classes.shift()
}).text(val)[0];
}));
});
}
});
});
然而,当附加第二个li
时,第一个li
和h4
标签不应该改变,因为它已经有跨度,这是没有完成的。
我在这里做错了什么吗? JSBIN链接
你的'else'正在工作,你的函数需要看起来更像这样:
工作本js
$('.main h4').each(function () {
if ($(this).find('span').length) {
console.log('yes');
// found!
} else {
console.log('no');
var classes = ['broker', 'place', 'time'];
$(this).html($.map($(this).text().split(/-/), function (val) {
return $('<span/>', {
'class': classes.shift()
}).text(val)[0];
}));
}
});
问题是针对文档中所有.main
元素的$('.main h4')
,而不是仅针对当前循环所针对的当前.main
文档。因此,尝试基于上下文的搜索,如$(this).find('h4')
$(function () {
$('#marketQuotes .main').each(function () {
if ($(this).find('span').length) {
console.log('yes');
// found!
} else {
console.log('no');
$(this).find('h4').html(function () {
var txt = $(this).text();
var classes = ['broker', 'place', 'time'];
$(this).html($.map(txt.split(/-/), function (val) {
return $('<span/>', {
'class': classes.shift()
}).text(val)[0];
}));
});
}
});
});
相关文章:
- 值条件未按预期工作
- JavaScript while循环没有'不能在有条件的情况下工作
- 当if条件被添加到循环中时,Javascript函数将停止工作
- Check IF条件返回false,但IF中的语句仍然可以在JavaScript中工作
- 如果IE条件不;t工作
- 如果条件在javascript中无法正常工作
- 网格视图中的Checbox检查条件无法按JavaScript的要求工作
- 如果条件未按预期工作,为什么此 javascript
- 根据条件将行从一个工作表复制到另一个工作表
- jQuery验证插件,条件远程调用未按预期工作
- Javascript:当Javascript在IE中工作而在Firefox或其他浏览器中不工作时,有什么不同的条件
- 使用jQuery在我的嵌套条件语句中没有任何工作
- 这个条件语句在HTML页面中工作吗
- 条件为的ClearTimeout不工作
- 如何使按钮在特定条件下工作
- ng显示即使满足条件也无法工作
- JS有条件地在Chrome上工作,但不能在Firefox上工作
- AngularJS条件类不工作
- asp.net更新面板条件更新的工作原理
- jquery使用条件自定义方法进行验证.条件未按预期工作