我有一个img title属性,其中包含以下字符集:<h1>Image ABC</h1><p>There ist another paragraph</p>
(html标签是实现某种格式所必需的,因为标题也用作图像的标题,这是一个限制CMS)
如何使用jQuery(特别是html标签)删除img title属性中的某些字符?例如,我想删除除Image ABC
非常感谢你的想法!
答案 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>');
});
});