Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.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 Jquery查找方法挂起我的整个浏览器_Javascript_Jquery - Fatal编程技术网

Javascript Jquery查找方法挂起我的整个浏览器

Javascript Jquery查找方法挂起我的整个浏览器,javascript,jquery,Javascript,Jquery,Jquery find()使我的整个浏览器停止工作 我的浏览器停止工作的那一行是: item.find('div:contains(\'' + myText + '\')').remove(); 特别是remove()之前的部分,即find()部分 以下是变量的值: myText: "Grand sauce ()" item: e.fn.e.init[1] 0: a.ui-corner-all ui-state-hover item[0].innerText: "Gr

Jquery find()使我的整个浏览器停止工作

我的浏览器停止工作的那一行是:

item.find('div:contains(\'' + myText + '\')').remove();
特别是remove()之前的部分,即find()部分

以下是变量的值:

myText: "Grand sauce ()"

item: e.fn.e.init[1]
    0: a.ui-corner-all ui-state-hover
        item[0].innerText: "Grand sauce...302774"
        item[0].innerHTML: "<table style=" width: 100%; font-size:10px;" name="Grand sauce ()"><tbody><tr><td id="column1" style="width:170px; padding:2px 2px 2px 8px;position: relative;">Grand sauce...302774</td><td style="width:50px; padding:2px;">302774</td><td style="width:70px; padding:2px;">Supp</td><td style="width:70px; padding:2px;"></td><td style="width:50px; padding:2px;">2.00</td><td style="width:80px; padding:2px;">93ml</td><td style="width:90px; padding:2px;"> € 1.35</td></tr></tbody></table>"
myText:“大酱汁()”
项目:e.fn.e.init[1]
0:a.ui-角落-所有ui状态悬停
项目[0]。内部文本:“大酱汁……302774”
项目[0]。innerHTML:“大酱汁……302774302774Supp2.0093毫升1.35欧元”
为什么浏览器挂起?innerHTML根本没有那么大。

试试这个:

item.find('div').filter(function() {
    return ($(this).text().indexOf(myText) != -1);
}).remove();
我不确定您为什么会看到这个问题,但我通常会尽量避免使用更晦涩的jQuery选择器,如
:contains()
,因为我过去也遇到过同样的问题。

请尝试以下方法:

item.find('div').filter(function() {
    return ($(this).text().indexOf(myText) != -1);
}).remove();
我不确定您为什么会看到这个问题,但我通常会尽量避免使用更模糊的jQuery选择器,如
:contains()
,因为我过去也遇到过同样的问题。

我认为问题在于myText中的
。您可以正确转义它或使用过滤器:

item.find('div').filter(function(){
  return $(this).text().indexOf(myText) > -1;
}).remove();
Try也可以这样尝试:

$('div:contains("' + myText + '")').remove();
下面是一个演示:

呃,事实上,你发布的方式也很有效。我认为代码还有其他问题。

我认为问题在于myText中的
。您可以正确转义它或使用过滤器:

item.find('div').filter(function(){
  return $(this).text().indexOf(myText) > -1;
}).remove();
Try也可以这样尝试:

$('div:contains("' + myText + '")').remove();
下面是一个演示:


呃,事实上,你发布的方式也很有效。我认为这段代码还有些问题。

试试
item.find('div:contains('\'+myText+'\'))。remove()我在项目中未看到任何DIV。你能提供一个JSFIDLE吗?你能告诉我们你想要实现什么吗?@如果没有的话;它不应该挂起,它不应该做任何事情。@petko_stankoski ya当然可以,但在这种情况下,为什么要提供与您的问题无关的代码?请尝试
item.find('div:contains('\'+myText+'\'))。remove()我在项目中未看到任何DIV。你能提供一个JSFIDLE吗?你能告诉我们你想要实现什么吗?@如果没有的话;它不应该挂起,它不应该做任何事情。@petko_stankoski ya当然,但在这种情况下,为什么要提供与您的问题无关的代码?既然您提到了它,您可能是对的。我看到过类似的问题,比如不小心打开了一个选择器,比如
$('a[href=abcd')
。但这是几年前的事了-我很惊讶它还没有被修复。我只是把事情搞砸了一点,实际上效果很好。我认为它的引用方式可能会把事情搞砸。我会更新我的答案。下面是我使用的演示:既然你提到了,你可能是对的。我在《意外离开》中也看到过类似的问题g选择器像
$('a[href=abcd')
一样打开。但这是几年前的事了-我很惊讶它还没有被修复。我只是稍微弄乱了一下,它实际上工作得很好。我认为它的引用方式可能会把事情搞砸。我会更新我的答案。下面是我使用的演示: