[英]Check if child element already exists
我正在编写一些代码,附加一个隐藏的表单字段,并将当前的幻灯片ID附加为值,这是有用的。
var items = this._core.$stage.children();
for (var i = 0; i < items.length; i++) {
if(items[i].classList.contains('active')) {
var curr_slide = items[i];
var curr_slide_value = curr_slide.firstElementChild.getAttribute('data-hash');
console.log(curr_slide);
console.log(curr_slide_value);
if(curr_slide.getElementsByTagName('form').length) {
var form = curr_slide.getElementsByTagName('form');
if(form[0].getElementsByName('slide') == null) {
var input = document.createElement('input');
input.value = curr_slide_value;
input.type = 'hidden';
input.name = 'slide';
form[0].appendChild(input);
alert("appended form");
} else {
alert("did not append form");
}
}
}
}
这条线不起作用
if(form[0].getElementsByName('slide') == null) {
此时我需要检查名称为“slide”的输入字段是否已存在,如果没有,则添加它。
这里是参考我的表单对象
[form#gform_1, gform_1: form#gform_1, item: function, namedItem: function]
0: form#gform_1
0: textarea#input_1_1.textarea.medium
1: textarea#input_1_2.textarea.medium
2: textarea#input_1_3.textarea.medium
3: textarea#input_1_4.textarea.medium
4: input#gform_submit_button_1.gform_button.button
5: input
6: input#_gform_submit_nonce_1
7: input
8: input.gform_hidden
9: input.gform_hidden
10: input#gform_save_1.gform_hidden
11: input#gform_resume_token_1.gform_hidden
12: input.gform_hidden
13: input.gform_hidden
14: input#gform_target_page_number_1.gform_hidden
15: input#gform_source_page_number_1.gform_hidden
16: input
没有为form
元素定义getElementsByName
。
最兼容的方式应该是:
if (!form[0].elements.slite) {
// add <input name="slite"> to form[0]
}
尝试这个:
if(form[0].getElementsByName('slide').length == 0) {
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.