jquery将指定标签中的元素添加其后面

其实我也不知道该怎么表达这个问题。
看代码吧。

$("#skin img").hover(function(){
var text=($(this).attr("alt"));
$(this).attr("title",text).after("<h4>"+text+"</h4>");
});
当鼠标经过图片,获取图片alt文字,添加title,添加<h4>标签。
#skin下有多张图片。

我需要的效果是,在文档打开之后,直接为图片添加title和标签。

问题分析:

首先复述一下你的需求:在页面加载完毕后,将页面中#skin下的img标签进行修改,将其alt属性的值复制一份到其title属性。并在其后面追加h4标签,h4标签的内容为alt属性的值。

解决步骤:

通过使用jQuery的each方法遍历多个img标签。

1、获取alt属性的值。

2、通过jQuery的attr方法将获取的alt属性的值赋值给title属性。

3、通过jQuery的after方法将h4标签追加到img的后面。

举例如下:

HTML代码:

<div id="skin">
    <img src="felix.jpg" alt="felix">
    <img src="felix.jpg" alt="felix">
    <img src="felix.jpg" alt="felix">
</div>

jQuery代码:

$.each($('#skin img'), function() {
    var alt = $(this).attr('alt');
    $(this).attr('title', alt).after('<h4>' + alt + '</h4>');
});

页面运行后的HTML代码:

总结:从以上代码截图可以看出,在页面运行后,img标签中多了title属性,以及后面被追加了h4标签,title属性以及h4标签的值与alt属性完全相等。

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-07-22
$(function(){
$("img").each(function(e){
var o =$("img").eq(e);
var p = o.attr("alt");
addSomething(o,p);
})
})
function addSomething(o,p){
o.attr("title",p);
o.after("<h4>"+p+"</h4>");
}

<div id="skin">
<img src="images/01.jpg" alt="ninsnins"  />
<img src="images/02.jpg" alt="123"  />
<img src="images/03.jpg" alt="456"  />
<img src="images/04.jpg" alt="789"  />
</div>

第2个回答  2013-07-24
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript" src="jquery-1.7.1.min.js"></script>
<style type="text/css">
.skin { width:580px; background:#09F; margin:0 auto; overflow:hidden;}
.imgbox { width:100px; margin:10px 0 10px 10px; float:left;}
.imgbox h4 { text-align:center; height:20px; line-height:20px; padding:0; margin:0;}
.imgbox img { width:100px; height:100px; margin-bottom:10px;}
</style>
</head>

<body>
<div class="skin">
<div class="imgbox"><img src="1.jpg" width="100" height="100" alt="1" title="" /></div>
<div class="imgbox"><img src="1.jpg" width="100" height="100" alt="2" title="" /></div>
<div class="imgbox"><img src="1.jpg" width="100" height="100" alt="3" title="" /></div>
<div class="imgbox"><img src="1.jpg" width="100" height="100" alt="4" title="" /></div>
<div class="imgbox"><img src="1.jpg" width="100" height="100" alt="5" title="" /></div>
</div>
<script type="text/javascript">
$(function(){
$(".imgbox>img").each(function(){
var text=$(this).attr("alt");
$(this).parent(".imgbox").append("<h4>"+text+"</h4>");
$(this).attr("title",text);

});

})
</script>
</body>
</html>

希望对你有用本回答被网友采纳
第3个回答  2013-07-24
不知道 好难
第4个回答  2013-07-22
去看看appendTo()方法

jquery将指定标签中的元素添加其后面
jquery将指定标签中的元素添加其后面 问题分析: 首先复述一下你的需求:在页面加载完毕后,将页面中#skin下的img标签进行修改,将其alt属性的值复制一份到其title属性。并在其后面追加h4标签,h4标签的内容为alt属性的值。 解决步骤:通过使用jQuery的each方法遍历多个img标签。1、获取alt属性的...

JQuery如何向某个元素后面动态追加元素
("#sever_catalog tr:eq(0) ").append(td);

Jquery:要在指定DIV下的第二个P后面增加元素如何实现?
1、双击打开HBuilder并新建一个静态页面,在页面中引入jquery文件。2、在标签内,插入一个div标签并在其中插入一个无序列表。3、接着在jQuery初始化函数中,利用jquery each函数遍历循环ul li。4、保存代码并在浏览器上查看页面显示的效果,可以发现只有几个无序列表项的点。5、再次添加样式代码,并使用...

jQuery如何将一个div移动到另一个div后面
$(document).ready(function(){ $("button").click(function(){ $("#p2").after($("#p1")); });});This is a paragraph.This is second paragraph.把第一个p元素移动到第二个p元素后面

前端jquery项目的append方法怎么使用?
要使用该方法,需指定一个selector以指定目标元素,和一个content以定义添加内容。内容可以是HTML文本、DOM元素、jQuery对象,或回调函数的返回值。若使用回调函数,每次执行时返回HTML字符串、DOM元素或jQuery对象数组,其中数组索引代表元素在集合中的位置,html表示元素当前的HTML内容。示例1:向元素中添加一...

jquery操作表格,移动th标签到指定位置
实例:把id="th1"的th移动到 id="tr1"的tr下的最后一个th元素的后面。("th#th1").insertAfter($("tr#tr1>th").last());insertBefore方法的参数和用法与insertAfter相同,不同的是insertBefore是把匹配的元素插入到另一个指定的元素集合的前面。jquery操作文档的方法还有很多,例如append() 、prepend...

jquery选择包含当前元素的父节点的 后面所有兄弟节点...
首先绑定事件 ("select.directory").bind("click",function(){ (this).parent("div.div_directory").nextAll("div.div_directory").remove();});用nextAll这个api应该可以的,经本地测试 此法可行

用jQuery的append()方法追加的html,在后面用什么选择器得到追加的元素...
比如下边这个例子,追加的元素就是直接加入的,看作一个字符串。('body').append('Another target');你可以声明一个字符,然后取得你需要追加的元素就好。

jquery 怎么实现在一个元素后面动态创建一个label?
("错误信息").insertAfter("#textbox");将错误提示信息的label插入到id为textbox的元素之后

JQuery之append和appendTo的区别,还有js中的appendChild用法_百度...
1、append一般是向标签内部的末尾添加内容,这个很常用。HTML 代码:I would like to say: jQuery 代码:("p").append("Hello");结果:I would like to say: Hello 2、appendTo把所有匹配的元素追加到另一个指定的元素元素集合中。HTML 代码:I would like to say: jQuery 代码:("p").appe...

相似回答