javascript - 为什么 javascript .replace 不适用于此数组键?

标签 javascript jquery

我在这里添加每个 '. cmsCategories 的 div 到 item_array,但随后 .replace() 将不适用于 item_array 键。我怎样才能解决这个问题? (在此之后,我会将新内容写回到 div 中)。任何帮助都会很棒!

http://jsfiddle.net/QKHJJ/1/

Javascript:

$(document).ready(function() {

var item_array=new Array();

$("[class=' cmsCategories']").each(function(i, obj) {
item_array.push(obj.innerHTML);
});

item_array[0].replace("icon_dog", "<img src='img/icon_dog.png' alt='icon_dog' />"); 
item_array[0].replace("icon_cat", "<img src='img/icon_cat.png' alt='icon_cat' />"); 

alert(item_array[0]);


});

HTML:

<ul class="cmsSmartListResults">
  <li>
    <div class=" cmsCategories">icon_cat, apple, icon_dog, pear, banana</div>
    <a href="" class=" cmsPageLink"></a>
    <div class=" cmsDescription"></div>
    <div class=" cmsFileSize"></div>
    <a class=" cmsMoreLink"></a>
</li>
  <li>
<div class=" cmsCategories">apple, icon_dog</div>
<a href="" class=" cmsPageLink"></a>
<div class=" cmsDescription"></div>
<div class=" cmsFileSize"></div>
<a class=" cmsMoreLink"></a>
</li>
  <li>
    <div class=" cmsCategories">pear, banana</div>
    <a href="" class=" cmsPageLink"></a>
    <div class=" cmsDescription"></div>
    <div class=" cmsFileSize"></div>
    <a class=" cmsMoreLink"></a>
</li>
</ul>

最佳答案

1) 替换函数不会更改您传递的字符串(字符串是不可变的):它会返回一个新字符串。

做:

var newString = item_array[0].replace(...

item_array[0] = item_array[0].replace(...

2) 在此操作之后,您必须再次使用 $('someselector').html(item_array[0]);

更改 DOM

你需要的完整代码是这样的

$("[class=' cmsCategories']").each(function(i, obj) {
    var html = $(this).html();
    html = html.replace ...
    $(this).html(html);
});

关于javascript - 为什么 javascript .replace 不适用于此数组键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12497479/

相关文章:

javascript - jQuery mouseenter简单效果

jquery - 使用 jQuery 模拟 CSS4 主题选择器?

jquery - 使用 -webkit-mask 自定义 jQuery Mobile 转换

javascript - 2xx 范围内的 jQuery ajax 自定义 HTTP 状态消息

javascript - 在 moment.js 中获取 EST 日期

javascript - javascript中的变量范围混淆

javascript - jQuery 插件 - 初始化后更新设置

jquery - $.Ajax 不带 "_"查询字符串参数

javascript - Facebook 应用程序 iframe + JS Facebook.init + IE7 + Flash9 沙盒错误

javascript - 提示用户声音权限