jQuery是一个Javascript库,考虑添加Javascript标记。 jQuery是一个流行的跨浏览器JavaScript库,它通过最小化浏览器之间的差异来促进文档对象模型(DOM)遍历,事件处理,动画和AJAX交互。标记为jquery的问题应该与jquery相关,因此有问题的代码应该使用jquery,并且至少需要jquery与用法相关的元素。
为什么从另一个 javascript 文件调用 javascript 函数时会得到未定义的属性?
我正在使用OOP javascript方法(如果我错了请纠正我),在所有网站和javascript文件中使用js自定义函数。 有一个主要的 template.js 文件,我存储...
有没有办法获取某个属性的所有唯一值。 例如 有没有办法获取某个属性的所有唯一值。 例如 <div class="bob" data-xyz="fish"></div> <div class="bob" data-xyz="dog"></div> <div class="bob" data-xyz="fish"></div> <div class="bob" data-xyz="cat"></div> <div class="bob" data-xyz="fish"></div> 我需要获取 div.bob 上 data-xyz 属性的所有不同值, 所以它应该返回鱼、狗和猫。 小代码:创建一个对象并设置“狗”“鱼”“猫”属性。这将使它们独一无二。然后从对象中获取唯一的属性名称。简单又容易: var items = {}; document.querySelectorAll('div.bob').forEach(function(element) { items[element.dataset['xyz']] = true; }); var result = new Array(); for(var i in items) { result.push(i); } alert(result); 注意,2011 年的原始答案和 Fiddle 使用 jQuery 来查找和迭代元素并读取数据属性,但使用 JavaScript 就像上面所示的一样简单。 旧循环: $('div.bob').each(function() { items[$(this).attr('data-xyz')] = true; }); http://jsfiddle.net/GxxLj/1/ 跟踪您已经处理过的值: var seen = {}; var values = $('div.bob').map(function() { var value = this.getAttribute('data-xyz'); // or $(this).attr('data-xyz'); // or $(this).data('xyz'); if(seen.hasOwnProperty(value)) return null; seen[value] = true; return value; }).get(); 参考:$.map() 当然,这只适用于原始值。如果您要映射到对象,则必须重写对象的 toString() 方法,以便它们可以用作键。 或者作为插件: (function($) { $.fn.map_unique = function(callback) { var seen = {}; function cb() { var value = callback.apply(this, arguments); if(value === null || seen.hasOwnProperty(value)) { return null; } seen[value] = true; return value; } return this.map(cb); }); }(jQuery)); var array = $('div.bob').map(function() { return $(this).data('xyz'); }); 这将返回所有值。然后你可以通过一个独特的函数来运行它。 如何创建具有唯一元素的数组(即删除重复项)? function ArrNoDupe(a) { var temp = {}; for (var i = 0; i < a.length; i++) temp[a[i]] = true; var r = []; for (var k in temp) r.push(k); return r; } array = ArrNoDupe(array);
如何使用 jQuery.load 替换包含 div 的 div
我有一个 id 为“secondHeader”的 div,我想用另一个 id 为“secondHeader”的 div 替换整个 div,但它不是替换它,而是将加载的 div 添加到里面...
我在aspx页面中使用fancybox。对于灯箱,文档就绪功能在此页面中不起作用。有人告诉我编写一个新的 javascript 代码来加载该页面中的灯箱。
我在父div中有一个div: 部分内容1 部分内容1 我的父div中有一个div: <div id="parent"> <div id="child">some content1</div> <div id="child">some content1</div> </div> 我使用jquery获取父div: var allDivs= $("#parent").html(); 我想从父级中删除子级 div,我该怎么做?子 div 应该从 jquery 对象中删除,但不能从 dom 中删除,这可能吗? 子 div 应该从 jquery 对象中删除,但不能从 dom 中删除 从引用 DOM 的 jQuery 对象中删除它们会将它们从 DOM 中删除。 但是,您可以克隆该对象,然后根据需要修改克隆。 例如: var allDivs= $("#parent").html(); console.log("all divs: ", allDivs); var parentDiv = $("#parent").clone().empty().html(); console.log("only parent: ", parentDiv); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script> <div id="parent"> <div id="child">some content1</div> <div id="child">some content1</div> </div> 正如您在上面的第二个操作中看到的,选择“父级”后,您可以调用 .clone() 创建结构的内存中克隆,然后 .empty() 从中删除所有子元素(内存中)父元素。
如何在 JavaScript 中的单击事件上将类名添加到按钮的现有类名中?
我有一个表单,单击按钮即可发送电子邮件。但是,在发送电子邮件时,该按钮保持活动状态,允许用户多次单击它,这会中断电子邮件发送...
我在表单中使用 select2 作为多选选项。在表单中,我使用按键控件来遍历表单。因此,如果我按 Tab 键,它应该遍历表单中的字段。当我按...
TypeError:$(...).owlCarousel 不是函数
我无法将此轮播添加到我的 prestashop 模板中。 它返回给我以下错误: 类型错误:$(...).owlCarousel 不是函数 导航:正确 代码用于
所以这段代码按预期工作。 Hover/mouseenter/mouseleave 显示并正确显示暂停/播放图标。 我遇到的问题是页面加载时暂停图标未显示在悬停/鼠标输入上?它o...
我想用可以水平拖动/滚动的单个图像来设计英雄的样式 - 这是显示想要的结果的视频: https://vimeo.com/720043179 谁能解释一下或给我推荐一种方法...
我想实现以下结果:使用 slick.js,我想仅当指定的幻灯片位于视口中时才加载一些图像。我在控制台中看到,幻灯片收到以下标签
我已经使用本教程构建了一个带有联系表单的弹出框,但是我想在多个地方使用它,而无需重复代码并更改每个按钮的 ID 任何建议都是
Javascript 输入字段onchage/oninput
请帮忙,如何在javascript中进行这样的输入? 可输入的最小数字 = 0.01 可输入的最大数量 = 94.99 如果它超过最小值/最大值,它将自动 r...
我有一个文本区域,我想在其中输入关键字,并希望它在按 Enter 键后自动添加逗号,例如,您输入一个单词或句子,然后按 Enter 键,它会添加逗号
toggleClass 无法正常工作(或者可能只是代码错误)
我试图让我的 div 在单击按钮后显示。这是代码 我试图让我的 div 在单击按钮后显示。这是代码 <div class="post-menu"> <button class="button"> <i class="uil uil-ellipsis-h"></i> </button> <div id="menu-lists" class="menu-lists"> <div><a href=""><i class="uil uil-edit-alt"></i> Edit</a></div> <div><a href=""><i class="uil uil-trash"></i> Delete</a></div> </div> </div> div.post-menu div.menu-lists { /* display: none; */ position: absolute; width: 140px; right: 0; background-color: #ffffff7f; backdrop-filter: blur(8px); border-radius: 20px; margin: 10px 5px; z-index: 99; overflow: hidden; padding: 0 20px; height: 0; } .activePostMenu { padding: 20px; height: 124px; } $("button.button").click(function(){ $(".menu-lists").toggleClass("activePostMenu"); }); 我在网络控制台中看不到任何错误,所以我无法真正找到问题所在。 (div 也不在父级之外,因为它在隐藏之前放置得很好) 你只需要更新 CSS 即可。请按照以下代码解决: $("button.button").click(function(){ $(".menu-lists").toggleClass("activePostMenu"); }); div.post-menu div.menu-lists { display: none; position: absolute; width: 140px; right: 0; background-color: #ffffff7f; backdrop-filter: blur(8px); border-radius: 20px; margin: 10px 5px; z-index: 99; overflow: hidden; padding: 0 20px; height: 0; } div.post-menu div.menu-lists.activePostMenu { display: block; padding: 20px; height: 124px; } <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="post-menu"> <button class="button"> <i class="uil uil-ellipsis-h">[Button]</i> </button> <div id="menu-lists" class="menu-lists"> <div><a href=""><i class="uil uil-edit-alt"></i> Edit</a></div> <div><a href=""><i class="uil uil-trash"></i> Delete</a></div> </div> </div> jQuery 中有一些更好的选择。 $("button.button").click(function(){ $(".menu-lists").slideUp(); $(this).next(".menu-lists").slideToggle(); }); div.post-menu div.menu-lists { display: none; position: absolute; width: 140px; right: 0; background-color: #ffffff7f; backdrop-filter: blur(8px); border-radius: 20px; margin: 10px 5px; z-index: 99; padding: 0 20px; } <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="post-menu"> <button class="button"> <i class="uil uil-ellipsis-h">Button1</i> </button> <div id="menu-lists" class="menu-lists"> <div><a href=""><i class="uil uil-edit-alt"></i> Edit</a></div> <div><a href=""><i class="uil uil-trash"></i> Delete</a></div> </div> </div> <div class="post-menu"> <button class="button"> <i class="uil uil-ellipsis-h">Button2</i> </button> <div id="menu-lists" class="menu-lists"> <div><a href=""><i class="uil uil-edit-alt"></i> Edit</a></div> <div><a href=""><i class="uil uil-trash"></i> Delete</a></div> </div> </div>
我尝试在名称字段后添加域名但没有成功。 名称字段@domain.com $doc = JFactory::getDocument(); $js = " jQuery(文档).ready(函数($){ // 定义
当在 contenteditable div 中删除“Hello”或“World”中的任何字符时,整个单词都应被删除。 下面的代码适用于 Chrome 版本 102.0.5005.115(官方版本)(64-...
我有一个页面,其中包含指向多个 PDF 的不同链接。这些链接是动态创建的,因此我无法直接编辑 HTML。 我有一个页面,其中包含指向多个 PDF 的不同链接。链接是动态创建的,因此我无法直接编辑 HTML。 <a href="https://example.com/presentation-1.pdf" target="_blank">Download</a> <a href="https://example.com/presentation-2.pdf" target="_blank">Download</a> 我正在尝试在新窗口中打开指向 pdf 的每个链接。 这是我到目前为止得到的: $("a[href$='.pdf']").attr("onclick", 'https://example.com','popup','width=600,height=600'); return false;"); 当然,新窗口必须包含 pdf。因此代码中的https://example.com应该包含正确PDF的href。有人可以帮我吗? $(document).on('click', "a[href$='.pdf']", function(e){ e.preventDefault(); var href_val = $(this).attr('href'); window.open(href_val, '', ["width=" + 600,"height=" + 600, 'status=1', 'toolbar=0'].join(',')); }); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <a href="https://example.com/presentation-1.pdf" target="_blank">Download</a> <a href="https://example.com/presentation-2.pdf" target="_blank">Download</a> 注意 - 新窗口不会在此处打开,因为请求是在未设置“允许弹出窗口”权限的沙盒框架中发出的。
我正在尝试捕获应用程序中的某些按键事件,但前提是没有同时按下“控制”键。我不想遇到屏幕阅读器键盘快捷键问题...
我使用以下代码来显示搜索结果。它有两个选项,一个是文本字段,另一个是下拉选择选项。我想将下拉字段转换为复选框选项...