JQuery单击attr('src')返回Undefined

时间:2014-02-28 11:33:05

标签: javascript jquery knockout.js

图片从ko.observableArray加载

<ul data-bind="foreach: images">
<li>
    <div class="photo">
        <h2></h2>
        <img data-bind="attr:{src: '/images/'+path}, click: $root.addImageUrl">
    </div>
</li>

点击图像后,我想获取图像src并将其添加到另一个ko.observableArray 我有以下脚本

self.addImageUrl = function () {
    var src = $("img",this).attr('src');
    self.selectedImages.push(src);
};

但是返回Undefined。

2 个答案:

答案 0 :(得分:1)

选择器$("img",this).attr('src');错误。 使用$(this).attr('src');获取点击图片的src。

答案 1 :(得分:1)

使用this是错误的。在addImageUrl函数this中不是元素。我建议你改用img对象(itэы没有明确传递给函数):

self.addImageUrl = function (img) {
    var src = '/images/' + img.path;
    self.selectedImages.push(src);
};

Demo