我有多个扩展父类的子类。
我想“强制”子类在每个子类中声明一个方法列表。
class childClass_A{
function interfaceMethod(){}
}
class childClass_B{
function interfaceMethod(){}
}
etc.
Run Code Online (Sandbox Code Playgroud)
为了做到这一点,我研究了接口。
我知道我可以让所有子类实现特定的接口,但这不是多余的代码吗?
class childClass_A implements MyInterface{
function interfaceMethod(){}
}
class childClass_B implements MyInterface{
function interfaceMethod(){}
}
etc.
Run Code Online (Sandbox Code Playgroud)
相反,我想到让父类实现该接口。
class parentClass implements MyInterface{
function interfaceMethod(){}
}
class childClass_A extends parentClass{
}
Run Code Online (Sandbox Code Playgroud)
但是,通过这样做,声明接口方法的“义务”被分配给父类,并且如果子类不包含接口的方法之一,则不会生成错误。
是否可以确保父对象的接口方法也在子类中声明?
我使用$ .post()方法来检索json格式的字符串,如下所示:
{elementid:10},{elementid:11},{elementid:12},{elementid:14},{elementid:15}
Run Code Online (Sandbox Code Playgroud)
在$ .post()的成功回调函数中,我想循环这个json格式化字符串的值,但我无法弄清楚如何做到这一点.
// data returns {elementid:10},{elementid:11},{elementid:12},{elementid:14}, etc.
$.post('form.php',
{'postvalues' : input_ids},
function(data){
var elements = Array();
elements = [data];
for(var i=0; i<elements.length; i++) {
var value = elements[i]['elementid'];
alert('value = '+value);
}
});
Run Code Online (Sandbox Code Playgroud)
当我这样做,而不是value = 10, value = 11, value = 12在警报框中等等,我得到value = undefined
我必须更改变量'data'的格式,以便将其解释为数组值而不是字符串?
谢谢你的帮助
我想自动选择多个单选按钮组的第一个单选按钮.
<div class="element">
<input type="radio" name="group1" value="1">
<input type="radio" name="group1" value="2">
<input type="radio" name="group1" value="3">
</div>
<div class="element">
<input type="radio" name="group2" value="1">
<input type="radio" name="group2" value="2">
<input type="radio" name="group2" value="3">
</div>
Run Code Online (Sandbox Code Playgroud)
这是事情,虽然这有效:
$('.element').each(function(){
$(this).find('input[type=radio]:first').attr('checked', true);
});
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚为什么我不能使用:first方法使用:first方法
下面的代码不起作用:它只选择第一个div中的第一个单选按钮,你能告诉我为什么吗?
$('.element input[type=radio]:first').each(function(){
$(this).attr('checked', true);
});
Run Code Online (Sandbox Code Playgroud)
谢谢
我无法弄清楚为什么.min在计算页面中具有相同id的元素时似乎总是返回1.我知道在html文档中应该只有具有唯一html id的元素,但在我正在处理的项目中,用户可能无意中添加了重复项.
那么,在计算元素id时,jQuery总是返回1是正常的行为吗?
<div id="1">foo</div>
<div id="1">foo</div>
jQuery(function(){
alert(jQuery('#1').length); // returns 1
});
Run Code Online (Sandbox Code Playgroud)
我在这里建立了一个例子:http://jsfiddle.net/eSNZx/
谢谢你的帮助
我正在使用一个语言文件来存储jquery datepicker URL的traductions:http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/i18n/jquery-ui-i18n.min.js ? ver = 3.4.2
返回jQuery.datepicker.regional对象,我想访问该对象的it(意大利语)属性.我的问题是,当我做类似的事情
console.log(jQuery.datepicker.regional['it'])
Run Code Online (Sandbox Code Playgroud)
要么
console.log(jQuery.datepicker.regional.it)
Run Code Online (Sandbox Code Playgroud)
控制台说对象未定义.
但当我做类似的事情时:
console.log(jQuery.datepicker.regional);
Run Code Online (Sandbox Code Playgroud)
控制台返回如下内容:
[Object]
: Object
af: Object
ar: Object
...
it: Object
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?"it"对象有没有呢?如何访问jQuery.datepicker.regional对象的"it"对象?
谢谢
我发现了一个我在尝试使用循环时没有想到的行为,以便更改对象中属性的值集.
基本上,我在循环外声明我的对象.然后我循环一个数值数组,这些值用于更新对象属性.在循环内部,我将当前对象状态存储在外部数组中.
结果是,不是让一个数组包含一系列具有不同数值的对象,我最终在每个存储的对象中都有相同的数值.
这是小提琴http://jsfiddle.net/fAypL/1/
jQuery(function(){
var object_container = [];
var numeric_values = [1, 2 , 3, 4];
var my_object = {};
jQuery.each(numeric_values, function(index, value){
my_object['value'] = value;
object_container.push(my_object);
});
jQuery.each(object_container, function(index, value){
jQuery('#content').prepend(value['value']);
});
});
Run Code Online (Sandbox Code Playgroud)
我希望得到1 2 3 4作为存储在每个对象中的值,但是,我得到的是4 4 4 4,这对我来说没有意义.
任何关于这种行为的提示都非常受欢迎,谢谢