条件 - &GT;更改<p> </p>的文字

时间:2013-06-12 11:05:39

标签: jquery html

我找到了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 个答案:

答案 0 :(得分: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>');

答案 1 :(得分: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>'

答案 2 :(得分:1)

  

“我想将其下方<p>的文字更改为”有效“

当您说“<p>下面的title”时,您似乎在谈论父<p>的{​​{1}}属性中的文字。 (我假设您正在使用某种工具提示插件,在悬停时将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/

答案 3 :(得分: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>")
});