Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript中删除某个属性(不是ID)的除法_Javascript_Google Chrome Extension - Fatal编程技术网

在Javascript中删除某个属性(不是ID)的除法

在Javascript中删除某个属性(不是ID)的除法,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我正在开发一个chrome扩展,并尝试使用某些属性删除一些分区,如下所示: HTML: 但是对于如上所示的,如果我只知道someAttr中的一个值,并且我希望有一个如下算法: (伪代码) 我应该怎么做(除了手动将HTML代码检查为字符串)?为什么使用|,您只需使用includes()检查属性值即可: var el=document.querySelector('div'); var-key=12345; if(el.getAttribute('someAttr')。包括(键)){ el.移除

我正在开发一个chrome扩展,并尝试使用某些属性删除一些分区,如下所示:

HTML:


但是对于如上所示的
,如果我只知道
someAttr
中的一个值,并且我希望有一个如下算法: (伪代码)


我应该怎么做(除了手动将HTML代码检查为字符串)?

为什么使用
|
,您只需使用
includes()
检查属性值即可:

var el=document.querySelector('div');
var-key=12345;
if(el.getAttribute('someAttr')。包括(键)){
el.移除();
}
堆栈溢出
const someAttrDivs=document.querySelectorAll('div[someAttr]”); const key=“12345”; someAttrDivs.forEach(div=>{ 常量attrArr=div.getAttribute('someAttr').split('='); 常量值1=attrArr[1]。拆分('&')[0]; 常量值2=属性值[2]; 如果(值1==键| |值2==键){ div.remove(); } });
堆栈溢出

12345还可以使用此语法直接匹配其属性值包含目标键的元素

document.querySelector('[someAttr*=“12345”]')。remove();
如果需要动态传入此密钥,可以执行以下操作

const key='12345'
const targetElement=document.querySelector(`[someAttr*=“${key}”]`);
//在尝试调用remove方法之前检查元素是否存在是有意义的。
targetElement&&targetElement.remove();

阅读更多有关第一个代码块的内容,如果
s中的此类属性可能有两个或一个值,我可以将
forEach
修改为以下内容吗?:
someAttrDivs.forEach(div=>{const attrr=div.getAttribute('someAttr');if(attrr.includes(key)){div.remove();})
@taihouuuu-如果您希望密钥出现在字符串中的任何位置,则选择“是”<代码>包含将检查字符串中的任何位置是否存在。但是,如果要检查value1或value2值是否完全等于key,请使用
==
运算符。
<div someAttr="value1=aaa&value2=bbb">Stack Overflow</div>
document.querySelector('[someAttr="value1=aaa&value2=bbb"]').remove();
var key = 12345;
if (value1 == key || value2 == key) {
    removeThisDiv();
}