更改您的foreach这个
$('.' + NameArray[i]).each(function(){
alert($(this).val());
});
你循环每个HTML,而不是一个javascript数组对象。有jQuery中我们NameArray
的所有元件中的两个类型的
each
的
jQuery.each和
.each
的jQuery.each如果阵列,如果要循环
jQuery.each(NameArray, function(index, value) {
alert(value);
});
和。每之一,如果对于t他指定
$('.' + NameArray[i]).each(function(){
alert($(this).val());
});
这里循环HTML元素给出的标识符是FIDDLE DEMO证明它
<input type="text" id="classlist" value="class1,class2" />
<ul>
<li class="class1">TEXT 1</li>
<li class="class2">TEXT 2</li>
<li class="class3">TEXT 3</li>
<li class="class3">TEST 4</li>
</ul>
<div id="eachContent">
Contents retrieved using .each
</div>
<div id="jqueryeachContent">
Contents retrieved using jQuery.each
</div>
<script>
jQuery(document).ready(function(){
// Using jQuery.each looping of array
var nameArray = jQuery('#classlist').val().split(',');
jQuery.each(nameArray, function(index, value) {
$('.' + value).each(function(){
jQuery("#eachContent").html(jQuery("#eachContent").html() + '<br>' + $(this).text());
});
});
// using .each looping of elements
$('.class3').each(function(){
jQuery("#jqueryeachContent").html(jQuery("#jqueryeachContent").html() + '<br>' + $(this).text());
});
});
</script>
记录'NameArray [i]'的值,并检查记录什么。我的假设是可能有一个领先的空间...检查控制台是否有任何错误.. – 2014-09-24 04:48:32
尝试修剪类名' '' + $ .trim(NameArray [i])' – 2014-09-24 04:49:01
嘿,非常感谢你的建议。这,特别是不是问题,虽然没有主角也没有尾随空格:) – user2993497 2014-09-24 05:46:14