1

我有以下下拉列表:

 <select id="dropdown">
      <option value="AB">Alberta Standards</option>
      <option value="BC">British Columbia Standards</option>
 </select>

试图在不改变其他任何东西的情况下改变课程标准。

这就是我所拥有的:

$('#dropdown option').filter(function() { return /Standards/.text($(this).text());}).text('Curriculum');

但这取代了课程的一切!有任何想法吗?

谢谢,

4

5 回答 5

1

Hiya工作演示 http://jsfiddle.net/fppeZ/ http://jsfiddle.net/fppeZ/1/

好读:http ://www.regular-expressions.info/wordboundaries.html

元字符 \b 是类似于插入符号和美元符号的锚。它在称为“单词边界”的位置匹配。这个匹配是零长度的。

有资格作为单词边界的三个不同位置:

  • 在字符串的第一个字符之前,如果第一个字符是单词字符。

  • 在字符串的最后一个字符之后,如果最后一个字符是单词字符。

  • 在字符串中的两个字符之间,其中一个是单词字符,另一个不是单词字符....

希望这可以帮助,

jQuery代码

$('#dropdown option').each(function() {

     $(this).text($(this).html().replace(/\bStandards\b/g, 'Curriculum'));
});​
于 2012-05-18T11:08:51.987 回答
0

改用这个

$('#dropdown option').each(function() {
    $(this).text($(this).text().replace( /Standards/gi, 'Curriculum'));
});
于 2012-05-18T11:02:56.683 回答
0
$('#dropdown option').each(function() {
    $(this).text($(this).text().replace(/Standards/g, 'Curriculum'));
});
于 2012-05-18T11:04:49.227 回答
0

您的过滤器功能查找包含文本“标准”的元素,然后替换它们的文本
,而不是您可以使用

$('#dropdown option').each(function(i,v){
  $(v).text().replace( /Standards/gi, 'Curriculum');
});
于 2012-05-18T11:05:17.017 回答
0

只需使用each

$("#dropdown option").each(function () {
    $(this).text($(this).text().replace("Standards", "Curriculum")​​​​​​​​​​​​​​​​​​);
​​​​​​});

​</p>

于 2012-05-18T11:06:13.660 回答