0

我发现所有src不是它们的图像:“delete.png”并将它们的图像更改为“active.png”:

$("img.sign[src!='delete.png']").attr({ 'src': 'active.png', 'alt': 'Active' });

如果我更改了图像,我还想将其<p>下方的文本更改为“活动”。

前:

<td class="TableTD">
<p style="display:inline;" class="yellow" title="<p style='margin-top:0px;font-
size:12px;margin-bottom:0px;padding-bottom:0px'>Active</p>">
<img alt="Active" src="active.png" class="sign"/>
</p></td>

<td class="TableTD">
<p style="display:inline;" class="yellow" title="<p style='margin-top:0px;font-
size:12px;margin-bottom:0px;padding-bottom:0px'>Pause</p>">
<img alt="Pause" src="pause.png" class="sign"/>
</p></td>

<td class="TableTD">
<p style="display:inline;" class="yellow" title="<p style='margin-top:0px;font-
size:12px;margin-bottom:0px;padding-bottom:0px'>Delete</p>">
<img alt="Delete" src="delete.png" class="sign"/>
</p></td>

后:

<td class="TableTD">
<p style="display:inline;" class="yellow" title="<p style='margin-top:0px;font-
size:12px;margin-bottom:0px;padding-bottom:0px'>Active</p>">
<img alt="Active" src="active.png" class="sign"/>
</p></td>

<td class="TableTD">
<p style="display:inline;" class="yellow" title="<p style='margin-top:0px;font-
size:12px;margin-bottom:0px;padding-bottom:0px'>Active</p>">
<img alt="Active" src="active.png" class="sign"/>
</p></td>

<td class="TableTD">
<p style="display:inline;" class="yellow" title="<p style='margin-top:0px;font-
size:12px;margin-bottom:0px;padding-bottom:0px'>Delete</p>">
<img alt="Delete" src="delete.png" class="sign"/>
</p></td>

我想写这样的东西:

$("td.TableTd p").innerHTML = 'Active'

但它会改变最后一个 td ..

更新:

例如:

<p style="display:inline;" class="yellow" title="<p style='margin-top:0px;font-
size:12px;margin-bottom:0px;padding-bottom:0px'>Pause</p>">

我想换个词:Pause成为Active

4

4 回答 4

2

尝试这个:

$('img.sign[src!="delete.png"]').attr({'src': 'active.png', 'alt': 'Active' }).parent('p').attr('title', '<p style="margin-top:0px;font-size:12px;margin-bottom:0px;padding-bottom:0px">Active</p>');
于 2013-06-12T11:07:17.407 回答
1

“我还想将<p>下面的文本更改为‘活动’”

当您说“在<p>它下面”时,您似乎是在谈论titleparent 属性中的文本<p>。(我假设您正在使用某种工具提示插件,将其内容title转换为悬停时的真实元素。)如果是这样,您可以这样做:

$("img.sign[src!='delete.png']").attr({
    'src': 'active.png', 'alt': 'Active'
}).closest('p').attr('title', function(i, oldVal) {
    return oldVal.replace(/>[^<]*</, '>Active<');
});

(作为一般规则,用正则表达式解析 html 不是一个好计划,但在这种特定情况下,它应该足够安全。)

演示:http: //jsfiddle.net/CT6wU/

于 2013-06-12T11:13:55.737 回答
1

您可以使用:

$(document).ready(function() {
    var item = $("img.sign[src!='delete.png']");
    item.attr({ 'src': 'active.png', 'alt': 'Active' });
    alert(item.parent());
    item.parent().attr("title", "<p style='margin-top:0px;font-size:12px;margin-bottom:0px;padding-bottom:0px'>Active</p>")
});
于 2013-06-12T11:20:10.377 回答
1

尝试:

$("img.sign[src!='delete.png']").
            parent('p').title = 
                '<p style="margin-top:0px;font-size:12px;margin-bottom:0px;padding-bottom:0px">Active</p>'
于 2013-06-12T11:11:19.980 回答