我正在尝试在代码中使用contains()函数,并且我希望它区分大小写,这应该是正确的,但事实并非如此。 是否输入
$("keyword:contains('{Keyword:')")
或
$("keyword:contains('{KeyWord:')")
它仍然有效。我究竟做错了什么? 这是我的JsFiddle:https://jsfiddle.net/xpvt214o/463834/
谢谢
答案 0 :(得分:2)
在$("keyword:contains('{Keyword:')").length
条件下,您需要检查$("keyword:contains('{Keyword:')")
而不是if()
var keyword = '';
var elm = $("#message > p:contains('{Keyword:')");
if (elm.length) {
keyword = elm.text().replace(/({Keyword:)/gi, "");
keyword = keyword.replace(/}/gi, "");
$("#message > p").text(keyword);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="message">
<p>{Keyword:This is a headline}</p>
</div>
答案 1 :(得分:0)
if ($("keyword:contains('{Keyword:')")){ ... }
与任何条件都不匹配,只是返回一个非假值,因此它会触发所有事件(var keyword = $("#message > p").text();
的目标是任意元素。
:contains
选择器应用于定位特定元素。
$("div.message > p:contains('{KeyWord:')").text(
$("div.message > p:contains('{KeyWord:')").text().replace(/{keyword:/gi, "").replace(/}/gi, "")
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="message">
<p>{KeyWord:This is a headline}</p>
</div>
<div class="message">
<p>{Keyword:This is a headline}</p>
</div>