在我的代码中,我向网站发送 get 请求,有时返回的字符串在 HTML 顶部具有如下所示的字符串,导致 jQuery 出错
例如
4341-b087-58848cd597a7%26mode%3d%26code%3d500|<div>Div</div>
这会导致
Uncaught Error: Syntax error, unrecognized expression: 4341-b087-58848cd597a7%26mode%3d%26code%3d500|jquery.js:1473 Sizzle.errorjquery.js:2087 Sizzle.tokenizejquery.js:2488 Sizzle.selectjquery.js:879 Sizzlejquery.js:2704 jQuery.fn.extend.findjquery.js:2821 jQuery.fn.initjquery.js:73 jQuerygear.js:26 (anonymous function)gear.js:21 (anonymous function)jquery.js:3119 firejquery.js:3231 self.fireWithjquery.js:9275 donejquery.js:9685 callback
每次字符串都有一些共同点;它们都以 4
开头,以 %26mode%3d%26code%3d500|
结尾
如何检查文本 %26mode%3d%26code%3d500|
是否存在位于页面中,如果是,则删除 4
中的所有内容至%26mode%3d%26code%3d500|
(包括那些)所以它不会出错?
我的代码是这样的
$.get(url).done(function(data) {
callback(data.replace(/img/gi, "flip");
}
谢谢!
最佳答案
您可以使用正则表达式:
data = data.replace(/^4.*%26mode%3d%26code%3d500\|/, '');
或者您可以将整个内容包装在 DIV 中:
var Item = $('<div>', { html: data }).find("#ct100").attr("href");
关于javascript - 从 HTML 中删除字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28641175/