0

我有一个网站,其中包含一堆<input type="text">设置为“只读”的标签。单击时,我删除了只读属性。在同一次点击中,我还想显示一个带有“saveLink”类的图像。

click 事件的第一部分有效......它删除了<input type="text">. 但是第二部分不起作用,它找不到具有“saveLink”类的元素。

这是我的 jQuery:

$("body").on('click', '.pageLinks input[type=text]', function () {
    $(this).prop('readonly', false);
    $(this).find('[class=saveLink]').css('display', 'block');
});

这是我的 HTML:

<div class="pageLinks">
    <div>
        <div>
            <input type="text" readonly="readonly">
        </div>
        <div>
            <img src='/saveLink.png' class='saveLink' style='display: none;' />
        </div>
    </div>

    <div>
        <div>
            <input type="text" readonly="readonly">
        </div>
        <div>
            <img src='/saveLink.png' class='saveLink' style='display: none;' />
        </div>
    </div>

    <div>
        <div>
            <input type="text" readonly="readonly">
        </div>
        <div>
            <img src='/saveLink.png' class='saveLink' style='display: none;' />
        </div>
    </div>
</div>

我能做些什么来解决这个问题吗?谢谢

4

4 回答 4

2

尝试

Jsfiddle 演示

$(this).parent().next().find('.saveLink').show();

或者

Jsfiddle 演示

$(this).closest('.pageLinks').find('.saveLink').show();


参考

.closest()

于 2013-11-13T17:37:57.800 回答
1

改变:

$(this).find('[class=saveLink]').css('display', 'block');

至:

$(this).parent().next().find('img.saveLink').css('display', 'block');

jsFiddle 示例

于 2013-11-13T17:39:15.443 回答
1

找到是但 $('.className')

$("body").on('click', '.pageLinks input[type=text]', function () {
$(this).prop('readonly', false);
$(this).find('.saveLink').css('display', 'block');
于 2013-11-13T17:39:57.757 回答
1

为什么不只是:

$('.saveLink').css('display', 'block');
于 2013-11-13T17:40:55.423 回答