我正在尝试使用$('div:contains(text)')
选择元素,但是在控制台中出现错误:
TypeError:matchExpr [type] .exec不是一个函数 在Sizzle.tokenize(userscript.html?id = 8e14efa9-4d54-4213-afef-2dcc6a22a1d6:2175) 在Sizzle.select(userscript.html?id = 8e14efa9-4d54-4213-afef-2dcc6a22a1d6:2625) 在Function.Sizzle [找到](userscript.html?id = 8e14efa9-4d54-4213-afef-2dcc6a22a1d6:850) 在jQuery.fn.init.find(userscript.html?id = 8e14efa9-4d54-4213-afef-2dcc6a22a1d6:2878) 在新的jQuery.fn.init(userscript.html?id = 8e14efa9-4d54-4213-afef-2dcc6a22a1d6:2988) 在Window.jQuery(userscript.html?id = 8e14efa9-4d54-4213-afef-2dcc6a22a1d6:144) 在short_quest_desc(userscript.html?id = 8e14efa9-4d54-4213-afef-2dcc6a22a1d6:11271) 在评估时(userscript.html?id = 8e14efa9-4d54-4213-afef-2dcc6a22a1d6:12167) 在Window.tms_8e14efa9_4d54_4213_afef_2dcc6a22a1d6(userscript.html?id = 8e14efa9-4d54-4213-afef-2dcc6a22a1d6:12183) 在:2:494
当我尝试使用$('.class:first')
时遇到同样的问题。
其他选择器工作正常。我正在使用带有Tampermonkey扩展名和
// @require http://code.jquery.com/jquery-3.3.1.js // @grant unsafeWindow // @grant GM_log // @grant GM_getValue // @grant GM_setValue // @grant GM_deleteValue // @grant GM_listValues // @grant GM_addStyle
我尝试使用$.noConflict();
,然后将所有脚本放入:jQuery(document).ready(function($){..});
那没有帮助。我试图在Tampermonkey设置jquery库中删除并再次获取它们-什么也没有。我读了一些解决方案,但无济于事。
我使用的div是因为div,其文本没有id,并且位于不同的位置。另一件事是,当我使用google或msdn jQuery时,要求得到V [g] .exec不是函数错误。
像$(div[attribute=value])
这样的其他选择器也可以正常工作。 “文本”中没有任何特殊字符,我知道它区分大小写。
即使这样:
console.log($('#msgFullText .msg-quest div:contains(Karawana)'));
不起作用。
什么会引起问题? 我该如何解决? Page不使用jQuery,所以没有冲突。
这是短代码:
// ==UserScript==
// @require http://code.jquery.com/jquery-3.3.1.js
// @name PDmod
// @description Modyfikacje Blood Wars by Pożeracz Dusz!
// @version 0.0.1
// @match https://bloodwars.interia.pl/*
// @match https://*.bloodwars.interia.pl/*
// @match https://*.bloodwars.net/*
// @match https://*.bloodwars.pl/*
// @match https://beta.bloodwars.net/*
// @match https://old.bloodwars.interia.pl/*
// @grant unsafeWindow
// @grant GM_log
// @grant GM_getValue
// @grant GM_setValue
// @grant GM_deleteValue
// @grant GM_listValues
// @grant GM_addStyle
// @noframes
// @nocompat Chrome
// ==/UserScript==
jQuery(document).ready(function($){
var nick_p = GM_getValue(link_id + 'nick');
var link_id = $(location).attr('host').split('.')[0];
function remember_nick() {
if ($('.stats-player .me').length > 0) {
GM_setValue(link_id + 'nick', $('.stats-player .me').text());
}
}
function array_add(array, sumarray) {
if (array.length > 0) {
$.merge(sumarray, array);
}
}
"use strict";
console.log($('#msgFullText .msg-quest div:contains(Karawana)'));
function short_quest_desc() {
console.log($('#msgFullText .msg-quest div:contains(Karawana)'));
if (GM_getValue(nick_p + link_id + 'shortquest') === true && $('#msgFullText .msg-quest').length > 0){// && $('.msg-quest b:contains("Sprawdzian")').length > 0 || $('.msg-quest b:contains(Test)').length > 0 || $('.msg-quest b:contains(Próba)').length > 0 || $('b:contains(Raport z wyprawy.)').length > 0)) {
var cash = 0;
var cash1;
var is_event;
var arcane;
var onetime_item;
if ($('.msg_metadata_openingInfoTextContent').length > 0) {
is_event = $('.msg_metadata_openingInfoTextContent').last().text();
} else {
is_event = $('.msg-quest b.enabled').text();
}
if ($('#msgFullText .msg-quest > div:contains("arkana:")').length) {
arcane = $('.msg-quest > div:contains("arkana:")').text();
}
if ($('.msg-quest > div:contains("używa przedmiotu")').first().length) {
onetime_item = $('.msg-quest > div:contains("używa przedmiotu")').first().html().replace(/\n/g, '');
} else {
onetime_item = 'Brak jednoraza';
}
var luck = $('div:contains("(SZCZĘŚCIE)")').first().text();//.split('(');
console.log(luck);
luck = (luck[1]).replace(')', '');
var luck1 = $('.msg-quest > div[value*="(SZCZĘŚCIE)"]').first().text().split('(');
luck1 = (luck1[1]).replace(')', '');
var exp = 0;
var blood = 0;
var items = [];
var e_items = [];
var ldb_items = [];
var ldsk_items = [];
var db_items = [];
var dsk_items = [];
if ($('#msgClickToReadFullText').length > 0) {
$('#msgClickToReadFullText').click();
}
$('.msg-quest > span.item-link').each(function () {
cash1 = $(this).attr('onclick');
cash1 = $.parseHTML(cash1);
cash1 = $(cash1).find('.item-desc.itemDescContainer span:contains(PLN)').prop('outerHTML'); //
cash1 = parseInt($(cash1).text().replace(' ', '').replace('PLN', ''));
cash += cash1;
if (($(this).text()).substr(0, 5) === 'Epick') {
e_items.push(($(this)));
} else if ($(this).text().substr(0, 20) === "Legendarna Doskonała" || $(this).text().substr(0, 20) === "Legendarny Doskonały" || $(this).text().substr(0, 20) === "Legendarne Doskonałe") {
ldsk_items.push(($(this)));
} else if ($(this).text().substr(0, 16) === "Legendarna Dobra" || $(this).text().substr(0, 16) === "Legendarny Dobry" || $(this).text().substr(0, 16) === "Legendarne Dobre") {
ldb_items.push(($(this)));
} else if ($(this).text().substr(0, 9) === "Doskonała" || $(this).text().substr(0, 9) === "Doskonały" || $(this).text().substr(0, 9) === "Doskonałe") {
dsk_items.push(($(this)));
} else if ($(this).text().substr(0, 5) === "Dobra" || $(this).text().substr(0, 5) === "Dobry" || $(this).text().substr(0, 5) === "Dobre") {
db_items.push(($(this)));
}
});
$('.msg-quest > p:contains(Zdobyłaś), p:contains(Zdobyłeś)').each(function () {
var eb = $(this).text().split('.');
exp += parseInt(eb[0].replace(/[^0-9\.]/g, ''));
blood += parseInt(eb[1].replace(/[^0-9\.]/g, ''));
});
array_add(db_items, items);
array_add(dsk_items, items);
array_add(ldb_items, items);
array_add(ldsk_items, items);
array_add(e_items, items);
$('.msg-quest').empty();
if (is_event) {
$('#msgFullText').append("<span class=enabled>Event podczas wypraw: " + is_event + "</span></br>").css('text-align', 'center');
}
$('#msgFullText').append("<span class=enabled>" + arcane + "</span></br>");
$('#msgFullText').append("<span class=enabled>" + onetime_item + "</span></br>");
$('#msgFullText').append("<span class=enabled>" + luck + "</span></br>");
if (luck1 !== luck) {
$('#msgFullText').append("<span class=enabled>" + luck1 + "</span></br>");
}
$('#msgFullText').append("<span class=enabled>Doświadczenie zdobyte podczas wypraw: " + exp + " pkt.</span></br>");
$('#msgFullText').append("<span class=enabled>Krew zdobyta podczas wypraw: " + blood + " l.</span></br>");
$('#msgFullText').append("<span class=enabled>Znalazłeś podczas wypraw przedmioty o łącznej wartości: " + cash.toLocaleString('pl-PL') + " PLN.</span></br></br>");
$('#msgFullText').append("<span class=enabled>W trakcie wyprawy znalazłeś przedmioty: </span></br>");
$(items).each(function () {
$('#msgFullText').append("<span class='item-link item-caption'" + $(this).prop('outerHTML') + '</br>');
});
}
}
(function () {
(short_quest_desc());
})();
});
console.log($('#msgFullText .msg-quest div:contains(Karawana)'));
不起作用,无论我使用(“ Karawana”)还是(Karawana)。