[英]JQuery selector problem in Internet Explorer
我有一個jQuery選擇器,看起來像:
var val = "John's cars";
$('#subject input[value="'+val+'"]')
在Firefox,Chrome,Internet Explorer 8中可以正常工作,而在IE 6或IE7中則不能。 問題是文本搜索中的“。 除了遍歷所有有問題的輸入並進行字符串比較之外,有人知道如何解決此問題。
嘗試這個:
var val = "John's cars";
$('#subject input').filter(function() {
return this.value == val;
});
嘗試使用反斜杠轉義'
var val = "John\'s cars";
$('#subject input[value="'+val+'"]')
來自jQuery
選擇器中的特殊字符
如果希望將上述任何元字符用作名稱的文字部分,則必須使用反斜杠()對該字符進行轉義。 由於Javascript將反斜杠用於字符串文字中的轉義序列,因此您必須在字符串文字中使用兩個反斜杠(\\),以便將單個反斜杠放入字符串中。
例:
"#foo\\:bar"
"#foo\\[bar\\]"
"#foo\\.bar"
需要轉義的字符的完整列表:
#;&,.+*~':"!^$[]()=>|/
編輯:
由於該值位於字符串文字中,因此需要進行兩次轉義。 這樣可行
var val = "John\\'s cars";
$('#subject input[value="'+val+'"]')
感謝bobince指出了這一點。
我敢打賭這是搜索值中的撇號-嘗試使用來轉義它
"John\'s cars"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.