这里是我的HTMLjQuery的,如果类名包含
<div class="item">Item #SKU987</div>
我试图创建一个简单的jQuery,但它一直在返回undefined
if (jQuery('div.item:contains("Item #SKU987")').length) {
alert("Hello! This works!");
}
我在控制台尝试了这一点我不断获取undefined
我缺少什么?
这里是我的HTMLjQuery的,如果类名包含
<div class="item">Item #SKU987</div>
我试图创建一个简单的jQuery,但它一直在返回undefined
if (jQuery('div.item:contains("Item #SKU987")').length) {
alert("Hello! This works!");
}
我在控制台尝试了这一点我不断获取undefined
我缺少什么?
您是否尝试过使用$(文件)。就绪(函数(){...})。这是一个解决方案。希望能帮助到你!
$(document).ready(function(){
if (jQuery('div.item:contains("Item #SKU987")').length) {
alert("Hello! This works!");
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<div class="item">Item #SKU987</div>
这里的另一种解决方案:
if($(".item").text().indexOf("Item #SKU987") !== -1){
alert("Hello! This works!");
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<div class="item">Item #SKU987</div>
试试这个:
if(jQuery('.item').eq(0).html() == "Item #SKU987") {
alert('it finally worked!');
}
或者如果你有多个.items
,使用此:
jQuery.each('.item', function(i,v) {
if(jQuery(this).html() == "Item #SKU987";)
alert('index: '+i+' contains "Item #SKU987"');
});
试试这个
if ($(".item").text() == "Item #SKU987") {
alert("Hello! This works!");
}
将代码放入$(document).ready();
。然后它会工作。我附上了示例代码。你的问题是,当你调用选择器时,你的dom还没有加载。
<html>
\t <head>
\t \t <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
\t \t <script>
\t \t $(document).ready(function(){
\t \t \t if (jQuery('div.item:contains("Item #SKU987")').length) {
\t \t \t \t alert("Hello! This works!");
\t \t \t }
\t \t });
\t \t </script>
\t </head>
\t <body>
\t \t <div class="item">Item #SKU987</div>
\t </body>
</html>
见@ HenryDev的第二个解决方案。 如果你在控制台中运行它,你将得到undefined
作为结果,因为这个if语句本身没有值。在控制台中忽略这个结果。 使用indexOf
时,您必须注意字母的大小写。你确定你正在寻找的文本是在确切的情况下,而不是低或大写? 使用view-source:
确保您正在寻找正确的东西。
在这个** DOM元素被加载**和** jQuery被加载后执行** **?控制台日志中是否有错误?此外,如果适用,使用'text()'和JS条件而不是':contains'选择器是一个好主意。 –
@YeldarKurmangaliyev是的,它在DOM元素和jQuery加载后执行 – Haim
@Haim你看过我的2个解决方案吗? – HenryDev