Javascript 如何在包含选择器中使用磅符号(£)?
我正试图隐藏所有包含0.00英镑的选择选项,但英镑符号未正确通过。有没有办法在选择器中使用此选项 我已经尝试了几种传递磅符号的方法,但似乎没有一种能用unicode等将其设置为变量 这是我在源代码中的内容:Javascript 如何在包含选择器中使用磅符号(£)?,javascript,jquery,Javascript,Jquery,我正试图隐藏所有包含0.00英镑的选择选项,但英镑符号未正确通过。有没有办法在选择器中使用此选项 我已经尝试了几种传递磅符号的方法,但似乎没有一种能用unicode等将其设置为变量 这是我在源代码中的内容: $('option:contains(£0.00)').hide(); 这是我进入“查看源”时显示的内容: $('select option:contains(£0.00)').remove(); 您可以循环选择并检查文本是否为=£0.00 $('option').each(funct
$('option:contains(£0.00)').hide();
这是我进入“查看源”时显示的内容:
$('select option:contains(£0.00)').remove();
您可以循环选择并检查文本是否为=£0.00
$('option').each(function(){
if($(this).text() == '£0.00'){
$(this).hide();
}
})
这应该行得通
签入HTML如果您的磅符号是由htmlentities或其他打印的,则可能是您的选择器失败
如果“0.00”不是选项节点中包含的唯一文本,则可以使用indexOf检查字符串是否包含另一个字符串
上面的代码变成了这个
£0.00
一些短信0.00英镑
£23.00
1.00英镑其他文本
0.00英镑其他文字
jQuery'option'。每个函数{
//如果$this.text.包括“$0.00”{。。。。。
//或
console.log$this.text
console.log$this.text.indexOf'0.00'
如果$this.text.indexOf'0.00'>-1{
//$this.hide
$this.css{background:'red'};
}
}
您需要在contains和remove中使用quote,它仅在字符串完全匹配时才起作用:
$('select option:contains("£0.00")').remove();
原来这是编码的问题。Notepad++被设置为UTF-8,但当我从Notepad++获取代码时,将其粘贴到实际的windows Notepad.txt文件中,然后从那里保存它-它编码正确,符号前面的奇怪字符消失了
感谢@phuzi提供的指针!这对我来说很好,试着看看这里你可以使用ASCII代码来编写HTML:£;是的,对我来说也很好:这对我来说也很好。当我在控制台中执行时,它可以工作,但当它在一个准备文档的函数中执行时,它就不工作了。我也将它作为页面上的最后一件事加载还确保下拉列表的结构与小提琴相同。它是在ASP标记中生成的,但输出几乎相同!!这可能会起作用,但我需要检测它是否包含0.00英镑,因为在这个成人、OAP、儿童之前有文本etc@HunterForest答案已更新,以检查选项文本是否包含,幸运的是,我们已尝试t它仍然无法检测到英镑。当我们注销英镑时,它似乎可以正常工作,但这给我们带来了检测10.00、20.00的问题,而实际上我们只想检测0英镑。00@HunterForest我添加了一个代码段,它仍然无法正确地通过符号,在呈现页面的源代码中,它看起来像是通过了符号0.00英镑而不是0.00英镑这在控制台中起作用,但当我将其放入代码中时,它不会检测到: