jQuery替换img title属性中的某些字符

时间:2014-12-22 12:36:00

标签: jquery html

我有一个img title属性,其中包含以下字符集:<h1>Image ABC</h1><p>There ist another paragraph</p>(html标签是实现某种格式所必需的,因为标题也用作图像的标题,这是一个限制CMS)

如何使用jQuery(特别是html标签)删除img title属性中的某些字符?例如,我想删除除Image ABC

之外的title属性中的所有内容

非常感谢你的想法!

3 个答案:

答案 0 :(得分:0)

如果您的意思是title属性,请尝试使用

$(function() {
  $("img[title^='<h1']").each(function() {
    var title = this.title;
    $(this).prop("title",title.substring(0,title.indexOf('</h1>')+5));
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<img title="<h1>This will stay</h1><p>This will go</p>" src="http://lorempixel.com/output/abstract-q-c-164-153-6.jpg" />

或更好(顺便说一句,不需要parseHTML,只要我们首先将.append或.html添加到标签中)

$(function() {
  $("img[title^='<h1']").each(function() {
    var $title = $('<div/>').html(this.title);
    $(this).prop("title",$title.find('h1').html());
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<img title="<h1>This will stay</h1><p>This will go</p>" src="http://lorempixel.com/output/abstract-q-c-164-153-6.jpg" />

如果你的意思是你可以做的实际标题

$(function() {
  $(".title").each(function() {
    $(this).html('<h1>'+$(this).find("h1").html()+'</h1>');
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div class="title"><h1>Image ABC</h1><p>There ist another paragraph</p></div>

答案 1 :(得分:0)

试试这个,

<强> HTML

<img title="<h1>Image ABC</h1><p>There ist another paragraph</p>" src=""/>

<强> SCRIPT

 var $img=$('img');
 var $t=$.parseHTML($img.attr('title'));
 // you need to append your title string to output element
 // source http://stackoverflow.com/a/15403888/1817690
 $img.attr('title',$('h1', $('<output>').append($t)).text());

 var $img=$('img');
 var $t=$.parseHTML($img.attr('title'));
 $img.attr('title',$('h1', $('<output>').append($t)).text());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<img title="<h1>Image ABC</h1><p>There ist another paragraph</p>" src=""/>

答案 2 :(得分:-1)

您可以使用Javascript的替换功能替换某些特定字词

var $data = "<h1>Image ABC</h1>";
$data.replace("ABC","");

如果你的标签没有id或唯一标识符,你可以使用.each

$(function() {
  $(".title").each(function() {
    $(this).html('<h1>'+$(this).find("h1").html()+'</h1>');
  });
});