替换HTML元素中的属性'

Replacing an attribute's value in an HTML element

本文关键字:属性 HTML 元素 替换      更新时间:2023-09-26

我想在某个<div>中替换属性的值。我希望将其更改为CMS提供的值。有多个具有该变量的<div>

的例子:

    <div id="1395308878">
    <div class="slides_container">
    <div><a rel="fancy" href="01.jpg"><img border="0" src="01a.jpg"></a><div>
    <div><a rel="fancy" href="02.jpg"><img border="0" src="02a.jpg"></a><div>
    <div><a rel="fancy" href="03.jpg"><img border="0" src="03a.jpg"></a><div>
    </div>
    </div>
    <div id="9995308878">
    <div class="slides_container">
    <div><a rel="fancy" href="04.jpg"><img border="0" src="04a.jpg"></a><div>
    <div><a rel="fancy" href="05.jpg"><img border="0" src="05a.jpg"></a><div>
    <div><a rel="fancy" href="06.jpg"><img border="0" src="06a.jpg"></a><div>
    </div>
    </div>

我希望代码rel="fancy"替换为rel= id-number(由CMS提供)。所以代码应该是这样的:

    in the DIV with id="a number" <-- generated by CMS
    find the VAR fancy and replace it with the same number <-- that is generated by a CMS.

这必须是结果:

    <div id="1395308878">
    <div class="slides_container">
    <div><a rel="1395308878" href="01.jpg"><img border="0" src="01a.jpg"></a><div>
    <div><a rel="1395308878" href="02.jpg"><img border="0" src="02a.jpg"></a><div>
    <div><a rel="1395308878" href="03.jpg"><img border="0" src="03a.jpg"></a><div>
    </div>
    </div>
    <div id="9995308878">
    <div class="slides_container">
    <div><a rel="9995308878" href="04.jpg"><img border="0" src="04a.jpg"></a><div>
    <div><a rel="9995308878" href="05.jpg"><img border="0" src="05a.jpg"></a><div>
    <div><a rel="9995308878" href="06.jpg"><img border="0" src="06a.jpg"></a><div>
    </div>
    </div>

该数字每次都是唯一的,以确保图像留在自己的花式框中,并由CMS提供。我可以操纵模板以确保插入数字,但不能插入"fancy"所在的位置…

尝试使用.attr()的回调来完成您的工作,

$('.slides_container [rel]').attr('rel', function(){
  return $(this).closest('div[id]').attr('id');
});
演示

假设您已经将CMS id存储在一个变量cms_id中;

您可以在jquery中执行以下操作

$("#"+cms_id +" a[rel = 'fancy']").attr("rel",cms_id)

工作代码JSFIDDLE