jQuery .next().not()不能查找动态创建的元素
jQuery .next().not() can't find dynamically created element
我试图在单击元素后创建一个输入元素,只有当它不存在时。.next().not()
函数工作,但似乎无法找到动态创建的元素。
$(function(){
$("p").click(function(){
if($(this).next().not('input')){
var currentElement = $(this);
var currentText = ($(this).text());
var input = $('<input type="text" >');
var saveBtn = $('<button type="button">Save</button>');
input.val(currentText);
saveBtn.click(function(){
currentElement.text(input.val());
$((input).remove());
$((this).remove());
});
input.insertAfter(this);
saveBtn.insertAfter(input);
}
});
});
在jsfiddle .not()
不是布尔函数,它是一个选择器——它返回给定集合中与选择器不匹配的元素。要判断一个选择器是否找到了什么,测试它的长度。
你根本不需要使用.not()
。如果.next('selector')
与选择器匹配,则返回下一个元素,否则返回空集合。
if ($(this).next('input').length == 0) {
...
}
相关文章:
- 在运行时创建元素时移到一边时出错
- 如何在动态创建元素的内联onclick事件中传递对象
- 在 jquery 中创建元素
- 当我动态创建元素时,选择的插件不起作用
- HTML javascript函数来创建元素
- 从外部 js 脚本创建元素并插入到 html 中
- 在 d3 中为数据列表创建元素
- 如何在循环中创建元素并将其添加到DOM中
- JQuery-创建元素并将其连接到其他html
- 创建元素更好还是只在html上准备好它们
- 挂钩文档.使用函数原型创建元素
- Javascript动态创建元素和onclick函数
- 从任何jquery选择器字符串创建元素的最有效方法
- 动态创建元素和添加onclick事件不起作用
- 在javascript中创建元素时,CSS转换规则固有地被覆盖
- 如何在特定的HTML标记下用JavaScript创建元素
- 如何根据我正在读取的节点的元素名称创建元素
- 使用Jquery在元素中创建元素
- 使用JavaScript创建元素并使用它
- 将托管 Bean 与 javascript 结合使用来创建元素