草庐IT

dom-selection

全部标签

javascript - jQuery 是否会从已销毁的 DOM 内容中删除事件监听器?

对于Ajax应用程序,我反复使用jQuery的html()方法来更新DOM容器(覆盖HTML内容,然后将元素绑定(bind)到事件监听器)。jQuery是否正确删除了附加到已销毁内容的事件监听器,或者是否存在内存泄漏的风险?(这里已经有一些相关的问题,但我找不到答案)。 最佳答案 是的,当您使用jQuery方法删除或替换内容时,所有事件和数据都会被清除。这是使用内部cleanData方法完成的。https://github.com/jquery/jquery/blob/1.9-stable/src/manipulation.js#L

javascript - 在 SELECT 元素的更改事件中重新验证输入

我正在编写一个AngularJS应用程序,在这个应用程序中有一个域管理工具。选择域后,我会在表中生成域记录,让用户编辑每一行。由于字段是动态创建的,我使用ng-form来启用单独验证每一行,因为它们共享相同的名称。每个域记录都有一个内容字段,其中包含IP、CNAME等内容。我使用根据所选记录类型(A、CNAME、TXT等)的函数生成的正则表达式模式验证此字段。问题是,当我编辑A记录,然后将记录类型更改为CNAME时,表单仍然有效,因为没有对内容字段执行新的验证。我重新验证它的唯一方法是开始在内容字段中输入内容,然后就可以正常工作了。检查下面的图片:我在A记录上按编辑,一切看起来都很好:

javascript - Select2 按选项值自动完成

我已尝试为我的站点集成标签/自动完成功能。它通过选项文本工作。我快接近结果了,但仍然悬而未决。现在,当您尝试选择选项文本时,会出现相关文本。但现在我也想通过选项值搜索kathmandu或相关选项文本。例如:当我们搜索值时a001kathmandu将出现并选择与a002相同,它将出现pokhara$("select").select2({tags:"true",placeholder:"Selectanoption",allowClear:true,width:'100%',createTag:function(params){varterm=$.trim(params.term);if

javascript - 如何JSON.stringify一个dom元素?

如题,如何对dom元素进行JSON.stringify,并将json变回dom元素。谁知道怎么做,谢谢。Hereisthecode:varcontainer=document.querySelectorAll('.container')varjson=JSON.stringify(container){"0":{},"1":{},"2":{},"3":{}}"//resultexpectedresult:{"tagname":"div","class":"container","value":"test","childelement":[...]} 最佳答案

javascript - jQuery $.removeAttr ("selected") 改变选择的选项

请看例子:http://jsfiddle.net/HHDpK/1/如你所见,两个选择器之间的区别只是线条$("#chooser-1.y").removeAttr("selected");但因此它们的状态不同(尤其是在Chrome中)。我是否遗漏了什么,或者这是一个错误? 最佳答案 看起来像带有属性的jQuery的内部错误。请注意,在旧版本中,在1.6版本中引入.prop()之前,它worksasexpected.在较新的版本中,只需使用.prop()来处理元素的此类属性:$("#chooser-1.x").prop("selecte

javascript - 将不在选择列表中的值输入到 jquery-select2 中

我有一个用例,我允许人们在select2plugin的文本框中键入值没有出现在选择列表中。在一种情况下,我提供验证并且不提交,除非用户选择了有效的项目,但在他们选择之前我不想清除他们的值。选择框可能包含1.00、1.50、1.75、NA、ABS,而用户刚刚输入了1.80。这是一个无效值,但我不想丢失他们的更改,我会将该框标记为无效并允许他们修复他们的更改。我不想将1.80添加到选择框,因为它是一个无效值,但我也不想清除它。如何实现这一目标? 最佳答案 如果您在JS中进行验证,Select2有一个动态加载/生成数据的示例,它会覆盖qu

javascript - Selectize.js:静默添加项目时触发的 onItemAdd 事件

使用Selectize.js,我试图在不触发onItemAdd事件的情况下初始化动态预选列表项之一。在以下代码中,即使silent参数为真,也会触发事件:$(function(){$('select').selectize({onItemAdd:function(){alert("Additem");}});//thistriggersantheevent$('select')[0].selectize.addItem('2',true);});JSFiddle:http://jsfiddle.net/zuzat0dc/1/根据文档:addItem(value,silent):“选择”

javascript - 如何在 map 中使用 react useRef 定位 DOM

我正在寻找一个关于使用ReactuseRef()钩子(Hook)获取DOM元素数组的解决方案。例子:constComponent=()=>{//In`items`,IwouldliketogetanarrayofDOMelementletitems=useRef(null);return{['left','right'].map((el,i)=>)}}我怎样才能做到这一点? 最佳答案 useRef只是部分类似于React的ref(只是对象的结构,只有current字段)。useRefHook旨在在渲染之间存储一些数据,并且更改该数据

javascript - 在长时间运行的函数中强制使用 jQuery 修改的立即 DOM 更新

我有一个需要大约2秒才能执行的javascript(复杂的优化算法)。我想在函数的开头将某些跨度设置为“工作...”。我观察到span在函数结束之前不会改变。如何强制DOM更改传播?还是我应该一起以不同的方式处理这个问题?我从按钮上的onclick调用该函数。函数是这样的:functionoptimize(){$('#status').text('working...');//calculatefor2seconds$('#status').text('done!');} 最佳答案 尝试将长时间运行的代码包装在setTimeout调

javascript - 如何为 DOM 元素生成唯一的 css 选择器?

我需要为元素生成唯一的css选择器。特别是,我有onclick事件处理程序,它应该记住目标元素被点击并将此信息发送到我的服务器。有没有办法在不修改DOM的情况下做到这一点?附言我的javascript代码应该在不同的上运行第3方网站,因此我无法对html做出任何假设。 最佳答案 此函数创建了一个很长但非常实用的唯一选择器,运行速度很快。constgetCssSelector=(el)=>{letpath=[],parent;while(parent=el.parentNode){path.unshift(`${el.tagName}