Javascript 为什么这行Jquery选择ALL div';类=规则名称的s?

Javascript 为什么这行Jquery选择ALL div';类=规则名称的s?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我是一个JQuery新手,尝试着慢慢开始。我已将以下代码行放入Tampermonkey脚本中,并针对所需页面运行它 $('<span id="matrixVarTableInit">Default Rule Tests</span>').insertAfter( "div:contains('Default Rule').rule-name" ); $('Default Rule Tests')。insertAfter(“div:contains('Default Ru

我是一个JQuery新手,尝试着慢慢开始。我已将以下代码行放入Tampermonkey脚本中,并针对所需页面运行它

$('<span id="matrixVarTableInit">Default Rule Tests</span>').insertAfter( "div:contains('Default Rule').rule-name" );
$('Default Rule Tests')。insertAfter(“div:contains('Default Rule')。规则名称”);
我希望在包含文本“Default Rule”且具有类“Rule name”的div之后插入我提供的HTML(span)


但是,这是在每个div后面插入带有class='rule-name'的HTML片段(实际上忽略标记中是否包含文本'Default rule')。

尝试交换
:contains()
选择器的位置

$('<span id="matrixVarTableInit">Default Rule Tests</span>')
.insertAfter("div.rule-name:contains('Default Rule')");
$(“默认规则测试”)
.insertAfter(“div.rule-name:contains('Default rule')”);

现在正在测试,但页面目前不配合。你能解释一下为什么顺序很重要吗?是否有一些操作的顺序要考虑?以前没有尝试链接字符串<代码> CordNeX<代码>或其他选择器到jQuery <代码>:包容()<代码>选择器。不确定是否需要该功能。您可以尝试询问以下问题:在传递给jQuery方法的参数中,链接到
:contains()
的选择器的预期功能似乎不起作用。将“rule name”作为一个类的每个div都将插入跨度。您可以创建一个stacksnippets或进行演示吗?看见注1)
文档中元素的
id
应该是唯一的;2) 您正在向
文档
中添加一个元素,该元素还包含文本
“默认规则”
,显然选择器可以链接到
:contains()
。这不是问题所在。虽然可以是1)或2)在前面的评论中提到,但这是如何离题的?“这是如何离题的?”,因为您没有再现问题中描述的问题。尽管需要更多信息与离题不同。当我让我的孩子上床睡觉时,我会“重现这个问题”。离题,因为…问题寻求调试帮助(“为什么这个代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现这些问题所需的最短代码。没有明确问题陈述的问题对其他读者来说是没有用处的。请参阅:““看在上帝的份上,我在同一时间处理两个小孩。有机会的话我会把你的情况告诉你。在我关闭之前,请不要关闭此。