- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 jQuery 在填充多选列表的某些选项时将它们涂成红色。这是我的代码:
$.each(subjects, function(key, subject)
{
if (select.find('option[value=\"' + encodeURIComponent(subject) + '\"]').length === 0 && subject!="")
{
//Ajouter la nouvelle catégorie dans la liste
$('<option>', {
value: subject,
text: subject
}).appendTo(select);
if (colored==true)
{
//Change color of options' text
//$("option[value='"+subject+"']").css('color', 'red');
$("#" + selectList + " option[value='"+ encodeURIComponent(subject) +"']").css('color', 'red');
}
}
});
目前这段代码有两个问题:
1- 第二个 encodeURIComponent 无法处理包含单引号的选项。这是控制台中的错误示例:
Uncaught Error: Syntax error, unrecognized expression:
value='est%20le%20type%20d'action%20de']
我尝试修改发生这种情况的行,使其与第一个 if 子句中的行类似,但它没有改变任何东西。
2- 我的 jQuery 代码不会为包含空格的选项着色。
如何解决这两个问题?提前谢谢你。
编辑:变量 selectList 包含我的多选名称。
最佳答案
不要在您的选项中使用空格或引号。(又称“不要那样做”),而是考虑使用键(数字或简单文本)作为您的值选项。当您处理输入时,您可以将这些值映射到您真正需要的值。这样做还可以在某些时候保存您的 HTML,防止您不小心放入关闭属性的字符,甚至是整个标签。
反转你的引号。JavaScript 可以使用 ''
或 ""
作为字符串。如果您不能绕过单引号,并且知道您不会在选项值中使用双引号,请替换为:
" option[value='"+ encodeURIComponent(subject) +"']"
有了这个:
' option[value="'+ encodeURIComponent(subject) +'"]'
在将值放入 HTML 时不要对值进行 URI 编码 相反,请将值保持原样,或者如果需要,尝试对它们进行 HTML 编码。如果您需要对它们进行 URI 编码(例如 GET 参数),则在表单提交时对它们进行 URI 编码,就像您准备将数据发送到其他地方一样。
关于jquery - 使用 jQuery 为多选的某些选项着色的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14159035/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!