我正在编写一段JavaScript。我对JS完全陌生,但是我在domainchkb类中有一组复选框,并且名称各不相同。我正在尝试将这些分组到一个数组中以格式化为JSON。执行代码时,调试器在return this.parent().text();
处停止。我在这里做错了什么?任何帮助,将不胜感激。
function format4Cart(){
var domains;
var values = $('input[name=domainchkb]:checked').map(function(){
return this.parent().text();
}).get();
domains = "{\"type\" : \"single\", \"data\" : [";
$.each(values, function(domainIndex,selected_domain){
domains += "{\"id\" : \""+selected_domain+"\", \"domain\" : \""+whois_response.data.domain+"\"},";
});
$(domains).text().replace(/(\s+)?.$/,"");
domains += "]}";
domains=encodeURIComponent(domains);
ajaxAdd2Cart(domains);
}
最佳答案
您正在尝试在DOM元素上调用jQuery方法.parent()
。为了在元素上使用jQuery方法,您需要将其包装在jQuery调用中:
var values = $('input[name=domainchkb]:checked').map(function(){
return $(this).parent().text();
}).get();