Javascript 匹配jQuery中的精确字符串
我有两段:Javascript 匹配jQuery中的精确字符串,javascript,jquery,Javascript,Jquery,我有两段: <p>Some text</p> <p>Another text</p> 仅当存在文本右侧文本时,它才应显示警报。但是当你加载页面时,它每次都会显示出来。脚本的第二部分应该在段落中添加下划线,加上右文本,并且它可以工作-如果它包含右文本,它就有下划线 为什么我的代码不工作,尽管选择器是相同的?如果有正确的文本,如何显示警报 这是因为JQuery对象将被转换为条件的布尔值。 如果不匹配,它将是长度为0的JQuery对象,但仍将转换为tr
<p>Some text</p>
<p>Another text</p>
仅当存在文本<代码>右侧文本代码>时,它才应显示警报。但是当你加载页面时,它每次都会显示出来。脚本的第二部分应该在段落中添加下划线,加上右文本
,并且它可以工作-如果它包含右文本
,它就有下划线
为什么我的代码不工作,尽管选择器是相同的?如果有正确的文本,如何显示警报
这是因为JQuery对象将被转换为条件的布尔值。 如果不匹配,它将是长度为
0
的JQuery对象,但仍将转换为true
。只有当它是0、-0、null、false、NaN、未定义时,才能将其转换为false
请尝试以下方法:
if ( $("p:contains('Right text')").length ) {
alert("Matching!");
}
这是因为JQuery对象将被转换为条件的布尔值。
如果不匹配,它将是长度为0
的JQuery对象,但仍将转换为true
。只有当它是0、-0、null、false、NaN、未定义时,才能将其转换为false
请尝试以下方法:
if ( $("p:contains('Right text')").length ) {
alert("Matching!");
}
$(“p:contains('Right text'))
始终返回数组。此数组已定义,因此如果尝试将其转换为布尔值,则始终会得到true
。检查数组的长度-它应该大于0
右代码:
if ( $("p:contains('Right text')").length > 0 ) {
alert("Matching!");
};
$( "p:contains('Right text')" ).css( "text-decoration", "underline" );
注意:如果有右文本等等
它也会有下划线,因为它包含右文本
。如果要检查完整内容,请执行以下操作
$( "p" ).each(function() {
if ( $( this ).html() == "Right text" ) {
alert( "Matching" );
$( this ).css( "text-decoration", "underline" );
}
});
$(“p:contains('Right text'))
始终返回数组。此数组已定义,因此如果尝试将其转换为布尔值,则始终会得到true
。检查数组的长度-它应该大于0
右代码:
if ( $("p:contains('Right text')").length > 0 ) {
alert("Matching!");
};
$( "p:contains('Right text')" ).css( "text-decoration", "underline" );
注意:如果有右文本等等
它也会有下划线,因为它包含右文本
。如果要检查完整内容,请执行以下操作
$( "p" ).each(function() {
if ( $( this ).html() == "Right text" ) {
alert( "Matching" );
$( this ).css( "text-decoration", "underline" );
}
});
尝试使用a for each,然后获取每个标记p的字符串文本,并使用indexOf查找要匹配的字符串的位置如果找到该字符串,则位置为all's>-1,否则如果不匹配,则为-1
$('p').each(function(){
if( $(this).text().indexOf('code example') > -1){
console.log($(this).text());
}
});
尝试使用a for each,然后获取每个标记p的字符串文本,并使用indexOf查找要匹配的字符串的位置如果找到该字符串,则位置为all's>-1,否则如果不匹配,则为-1
$('p').each(function(){
if( $(this).text().indexOf('code example') > -1){
console.log($(this).text());
}
});
您需要检查length
,因为即使是空对象在javascript$中也是真实值('nonexistant')
是长度为零的jQuery对象,但仍然是一个对象,因此仍然传递原始,如果
您需要检查length
,因为即使是空对象在javascript$('nonexistant')
是一个长度为零的jQuery对象,但仍然是一个对象,因此如果
忘记了文本,则仍然会传递原始的,在测试永不少于-1的thx时,该文本必须复制了以前版本的代码。您的答案有点不清楚(无论如何,我将保持+1)。执行步骤,例如:1.诸如此类。2.诸如此类。3.诸如此类。不要将文本粘在一起。忘记让文本在测试永不少于thx的-1时复制了以前版本的代码。您的答案有点不清楚(无论如何,我将保持+1)做一些步骤,例如1.诸如此类2.诸如此类3.诸如此类不要把课文粘在一起。