计算具有特定 class 的 DIV,其中 class 名称是一个变量
Count DIVs with specific class where class name is a variable
我对这段代码有一些问题...
$("select#kronologia option").each(function() {
var classname=$(this).val();
alert($("article."+classname).length);
});
错误:语法错误,无法识别的表达式:文章。
我想计算具有特定 class 的 div,其中 class 名称来自 select 字段。我有语法错误。见上文...
如果我改变这一行
var classname=$(this).val();
至此
var classname="2013";
脚本没问题。
任何帮助都会很棒...
尝试将 var classname=$(this).val();
更改为 var classname=str($(this).val());
那里有什么文章?是class前缀还是id前缀
$("select#kronologia option").each(function() {
var classname=$(this).val();
alert($(".article"+classname).length);
});
或
$("select#kronologia option").each(function() {
var classname=$(this).val();
alert($("#article"+classname).length);
});
当您使用 JQuery 搜索 Class 时,应该有前缀“.”一个基本规则。
您已经完成了所有工作,只需附加前缀即可使用 class 名称进行搜索,如下所示。
alert($(".article"+classname).length);
这是更新后的 JSFiddle。
问题是您的第一个值为空,因此 jquery 将尝试查找匹配 article.
的元素(空选项值),这确实是一个不正确的表达式。正如您在 fiddle 中看到的那样,当值为空时,它会被跳过,您的脚本将运行。当然,您可以根据自己的需要更改空值的行为。
$('select#kronologia').on('change', function(e) {
$(this).find('option').each(function() {
var classname = $(this).val();
if (classname === '') {
return true;
}
alert($('article.'+classname).length);
});
});
我对这段代码有一些问题...
$("select#kronologia option").each(function() {
var classname=$(this).val();
alert($("article."+classname).length);
});
错误:语法错误,无法识别的表达式:文章。
我想计算具有特定 class 的 div,其中 class 名称来自 select 字段。我有语法错误。见上文...
如果我改变这一行
var classname=$(this).val();
至此
var classname="2013";
脚本没问题。
任何帮助都会很棒...
尝试将 var classname=$(this).val();
更改为 var classname=str($(this).val());
那里有什么文章?是class前缀还是id前缀
$("select#kronologia option").each(function() {
var classname=$(this).val();
alert($(".article"+classname).length);
});
或
$("select#kronologia option").each(function() {
var classname=$(this).val();
alert($("#article"+classname).length);
});
当您使用 JQuery 搜索 Class 时,应该有前缀“.”一个基本规则。 您已经完成了所有工作,只需附加前缀即可使用 class 名称进行搜索,如下所示。
alert($(".article"+classname).length);
这是更新后的 JSFiddle。
问题是您的第一个值为空,因此 jquery 将尝试查找匹配 article.
的元素(空选项值),这确实是一个不正确的表达式。正如您在 fiddle 中看到的那样,当值为空时,它会被跳过,您的脚本将运行。当然,您可以根据自己的需要更改空值的行为。
$('select#kronologia').on('change', function(e) {
$(this).find('option').each(function() {
var classname = $(this).val();
if (classname === '') {
return true;
}
alert($('article.'+classname).length);
});
});