在Jquery中添加动态标题Tag

时间:2018-01-24 03:04:21

标签: javascript jquery html

我需要在' a'中添加动态标题。使用Jquery标记

现在在HTML中我有这个:

<a href="link" title="Bad title1">Epic Text Link1</a>
<a href="link" title="Bad title2">Epic Text Link2</a>
<a href="link" title="Bad title3">Epic Text Link3</a>
<a href="link" title="Bad title4">Epic Text Link4</a>

我需要Jquery首先删除标题,然后添加一个类似于文本的标题。

现在在Jquery我有这个:

$("#ClassForThisPart a").removeAttr("title")

但这只是删除了现有的标题

5 个答案:

答案 0 :(得分:1)

要更改属性的内部文本,请使用attr()代替removeAttr()attr()用于在属性中分配内部文本,其中removeAttr()用于从元素中删除特定属性。 在你的情况下,

$("#ClassForThisPart a").attr("title","Whatever the new value is");

答案 1 :(得分:1)

  

&#34;添加一个类似于TEXT的标题。&#34;

OP希望将标题替换为当前文本值。

要根据锚标记的内容添加标题,请使用.attr().text()的组合

$( "#ClassForThisPart a" ).attr( "title", function() {
   return $(this).text();
 });

答案 2 :(得分:0)

无需删除属性然后重新添加,您只需使用attr()方法为属性指定新值:

&#13;
&#13;
$("#ClassForThisPart a").attr("title", "new title");
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="ClassForThisPart">
  <a href="link" title="Bad title1">Epic Text Link1</a>
  <a href="link" title="Bad title2">Epic Text Link2</a>
  <a href="link" title="Bad title3">Epic Text Link3</a>
  <a href="link" title="Bad title4">Epic Text Link4</a>
</div>
&#13;
&#13;
&#13;

如果您仍然希望删除该属性然后重新添加,则jQuery中没有addAttr()方法,因此您还可以使用attr()方法,这似乎是多余的:

&#13;
&#13;
$("#ClassForThisPart a").removeAttr("title").attr("title", "new title");
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="ClassForThisPart">
  <a href="link" title="Bad title1">Epic Text Link1</a>
  <a href="link" title="Bad title2">Epic Text Link2</a>
  <a href="link" title="Bad title3">Epic Text Link3</a>
  <a href="link" title="Bad title4">Epic Text Link4</a>
</div>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

使用attr(attributeName, function)并返回回调中每个元素实例的文本或您想要该文本的任何修改

&#13;
&#13;
$("#ClassForThisPart a").attr('title', function(i, oldTitle) {
  return this.textContent;
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="ClassForThisPart">
  <a href="link" title="Bad title1">Epic Text Link1</a>
  <a href="link" title="Bad title2">Epic Text Link2</a>
  <a href="link" title="Bad title3">Epic Text Link3</a>
  <a href="link" title="Bad title4">Epic Text Link4</a>
</div>
&#13;
&#13;
&#13;

答案 4 :(得分:0)

我的HTML

<div class="links">
  <a href="link" title="Bad title1">Epic Text Link1</a>
  <a href="link" title="Bad title2">Epic Text Link2</a>
  <a href="link" title="Bad title3">Epic Text Link3</a>
  <a href="link" title="Bad title4">Epic Text Link4</a>
</div>

您可以使用.each()

循环遍历所有元素
$(".links a").each(function(i, elem){
    var title = $(elem).attr('title');
    $(elem).text(title);
 });