jQuery - 在 HTML 下拉菜单中获取特定范围的项目

标签 jquery html drupal xhtml

我在 HTML 下拉菜单中有一系列项目,我需要使用 jQuery 找到它们,然后我可以隐藏它们 [使用 .css('display', 'none') ].

它们(在这个例子中)都是 <option>---- Articles</option> 之间的和 <option>---- Jargon Buster</option > 此范围内的前六项除外!

除了前六个,此范围内所有其他选项的数量和文本都会有所不同(除了领先的 ------ )。

我在想也许我可以使用选择器 $("#edit-menu-parent option:contains('---- Articles')"$("#edit-menu-parent option:contains('---- Jargon Buster')"不知何故,但我不确定如何使用它们来获取它们之间的项目。

有什么想法吗?

<select id="edit-menu-parent" class="form-select menu-title-select" name="menu[parent]">
<option>---- Clients</option>
<option>---- Testimonials</option>
<option>-- Resources</option>
<option>---- Articles</option>
<option>------ Accessibilty Articles</option>
<option>------ Usability Articles</option>
<option>------ Charities Articles</option>
<option>------ Public Sector Articles</option>
<option>------ Web Development Articles</option>
<option>------ Social Media Articles</option>
<option>------ Are Your Online Forms</option>
<option>------ Benefits of Web Standards</option>
<option>------ Benefits of web accessibility</option>
<option>------ Increase Donations to Your</option>
<option>------ Need More Web Traffic? Get</option>
<option>------ The Secret to Successful ALT</option>
<option>------ Top 10 Email Marketing Tips</option>
<option>------ What PAS 78 Means for Your</option>
<option>------ What is Web Accessibility?</option>
<option>---- Jargon Buster</option>
<option>---- Web Design Tips</option>
<option>------ Colour blindness</option>
<option>------ Create a custom 404 page</option>
<option>------ Download time and usability</option>
<option>------ Full stop to the end of alt</option>
<option>------ Javascript and navigation</option>
<option>---- Your Industry News</option>
</select>

最佳答案

在我的测试 HTML 文件中,我尝试同时调用 .hide().css("display", "none"),但它们似乎都不起作用在 Safari(Mac) 中,但在 Firefox(Mac) 中按预期工作。
起初我认为 jQuery 选择器是错误的,但即使我简单地选择 #edit-menu-parent option 也会发生同样的情况。

我创建了一个脚本,用于查找开始和结束元素的索引,然后 slice()-s 找出需要删除的项目。但是,我使用了 remove() 否则它不起作用。因为据说前六个元素必须保留在那里,所以我在那里有这个 start+6

var options =  $("#edit-menu-parent option");
var start = options.index( $("option:contains(---- Articles)" ));
var end = options.index( $("option:contains(---- Jargon Buster)" ));
options.slice(start+6,end).remove();

关于jQuery - 在 HTML 下拉菜单中获取特定范围的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2036864/

相关文章:

javascript - Drupal Bootstrap 滚动与 Readmore 插件冲突

drupal - 如何自定义apachesolr的搜索结果(drupal 6)

php - AJAX Jquery url 不起作用

jquery - 有没有好的 jQuery 拖放文件上传插件?

jquery - 展开 LI 项目并对其余项目重新排序

javascript - Jquery 可拖动的内向外包含

html - Table Border 属性未显示在适用于 mac 的 google chrome 版本 61 中

php - 摆脱 db_query() drupal 中的单引号

javascript - HTML Anchor Elm 对 VBA 的隐藏

javascript - 将徽章添加到 angular prime ng split button 下拉列表