javascript - 搜索词与其余代码分开了吗?

标签 javascript jquery

$("[title*='A-title-im-not-interested-in']").closest("div.parentdivofproduct").attr("style","visibility: hidden !important; display: none !important;");
$("[title*='Second-title-no-need']").closest("div.parentdivofproduct").attr("style","visibility: hidden !important; display: none !important;");
$("[title*='Third-i-dont-want-to-see']").closest("div.parentdivofproduct").attr("style","visibility: hidden !important; display: none !important;");
$("[title*='4thtitle']").closest("div.parentdivofproduct").attr("style","visibility: hidden !important; display: none !important;");

我使用上面的代码来隐藏我不想要的标题。每个都在单独的一行中,所有内容都会重复匹配时需要执行的操作。 有没有一种方法可以达到相同的结果,我可以将我的标题列出到一个地方,并将“做什么”代码分开?像这样的吗?

$("[title*=MYTITLES]").closest("div.parentdivofproduct").attr("style","visibility: hidden !important; display: none !important;");
MYTITLES {'A-title-im-not-interested-in','Second-title-no-need','Third-i-dont-want-to-see','4thtitle'};

最佳答案

可以尝试类似的事情

var titles = ['title 1', 'title 2', 'title 3'];

$("[title]").filter(function(){
   return titles.indexOf(this.title) >-1;
}).closest("div.parentdivofproduct").attr("style","visibility: hidden !important; display: none !important;");

或者

$.each(titles, function(_, title){
    $('[title="' + title + '"]').closest("div.parentdivofproduct").attr...
}) 

或者

var selector = titles.map(function(title){
     return '[title="' + title + '"]';
}).join()
$(selector).closest("div.parentdivofproduct").attr...

关于javascript - 搜索词与其余代码分开了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38414762/

相关文章:

javascript - 如何更改类onclick?

javascript - 使用 JavaScript 禁用表单元素

javascript - 如何滚动固定的div

javascript - AJAX 响应返回有效的 JSON,控制台日志未定义

Jquery 动画在我的网站上给我奇怪的结果

javascript - 为什么每个 jquery 插件都用 (function($) {})(jQuery); 包裹起来

javascript - 选择带有警报的多个单选按钮

javascript - 当更改具有大量子元素的元素位置时如何提高 React 性能

javascript - 修改 JavaScript 以排除第一列打开新页面

javascript - 如何将一个文本文件中的代码注入(inject)到 HTML 页面中