将li内部的文本更改为图像
Change text inside li with image
我想更改li中的文本。但是这个li有一个img。这里的html:
<div>
<ul>
<li><b><img src="../../../Images/folder1/image1.png">Text1</b><i>0</i></li>
<li><b><img src="../../../Images/folder1/image2.png">Text2</b><i>1</i></li>
<li><b><img src="../../../Images/folder1/image3.png">Text3</b><i>2</i></li>
<li><b><img src="../../../Images/folder1/image4.png">Text4</b><i>3</i></li>
<li><b><img src="../../../Images/folder1/image5.png">Text5</b><i>4</i></li>
</ul>
</div>
我正在尝试这个:
$("li").each(function () {
$(this).text(sometext);
})
但它正在取代所有内容,包括img。我只想更改文本:文本1,文本2,。。。
有什么想法吗?
谢谢!
要访问元素中的文本节点,需要按nodeType使用contents()
,然后使用filter()
。然后可以使用replaceWith()
来更改文本。试试这个:
$('li:first b').contents().filter(function() {
return this.nodeType == 3;
}).replaceWith('foo');
小提琴示例
很明显,我将其硬编码为使用第一个li
元素,但您可以根据需要更改选择器。
您也可以这样做:
http://jsfiddle.net/YNLXQ/
$("li b").each(function () {
this.childNodes[1].textContent = "32323";
})
将图像存储在一个单独的变量中,替换文本后将图像前置。
$("li b").each(function () {
var $img = $(this).find('img');
$(this).text(sometext).prepend($img);
})
相关文章:
- 将HTML表格导出到带有文本和图像的excel中
- 可单击滚动图像以显示文本框
- 正确输入的文本会更改图像
- 无法将包含文本和图像的SVG保存到画布
- 如何知道锚在文本或图像上
- 自动缩放图像以匹配文本高度
- 一个javascript实现base64图像编码并将结果写入文本文件
- 有人知道有没有jquery插件可以在图像上写文本,并让用户将其放置在图像内的任何位置
- jQuery对请求图像的外部文本进行查询
- 如何检测移动浏览器(PHP/Javascript),然后进行图像/文本更改
- ASP.NET网页-使用脚本显示由预定义日期和时间指定的图像/文本
- 合并 2 个 javascript/jquery 随机横幅图像/文本函数彼此对应
- 使用javascript在html中制作一个随机的图像/文本/url元素
- 将彩色带置于图像/标签+图像/文本对齐方式之上->JavaScript Titanium移动应用程序
- 将2D画布(图像+文本)应用于3D表面,并进行360度旋转/动画-可以使用HTML5/CSS3/Javascript或F
- 覆盖HTML 5输入类型文件,相机与图像/文本从HTML网页
- 脚本标记中的Paperclip图像集显示的是图像文本url,而不是图像-expandablebanners.js
- 图像文本上的代码后面
- 电子邮件中包含图像/文本/插图的HTML滑块
- 如何从不同的媒体子集创建视频,如图像/文本等