jquey获取不到img的结束标签/

yCodeM 2018-11-30 10:15:14
不知道为啥jquey获取不到img的结束标签/,是为啥会这样,求解释

var html = '<ul>'
+'<li class="oneLi"><a>1<img /></a></li>'
+'<li><a>2<img /></a></li>'
+'<li><a>3<img /></a></li>'
+'</ul>';
$html = $( html );
var oneLi = $html.find( "[class='oneLi']" ).html();
console.log( oneLi ); // 输出 <a>1<img></a>
console.log( html ); // 原样输出
...全文
96 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yCodeM 2018-12-01
  • 打赏
  • 举报
回复
引用 1 楼 mencre的回复:
oneLi你是获取到的带有class='oneLi'的标签中包含的html,也就是<a>1<img></a>,
html是直接打印的你定义的这串html代码,
不太明白你问题的意思
我自定义为<a>1<img /></a>这个!获取时少了/!不知道为什么!我做项目时就是因为获取这个后代元素在后代元素追加其它的元素少了这个/就无法与原字符串html匹配
mengke.me 2018-12-01
  • 打赏
  • 举报
回复
oneLi你是获取到的带有class='oneLi'的标签中包含的html,也就是<a>1<img></a>,
html是直接打印的你定义的这串html代码,
不太明白你问题的意思
yCodeM 2018-12-01
  • 打赏
  • 举报
回复
引用 3 楼 天际的海浪的回复:
<img>本来就是只有单标签的形式,原本就不需要加/自闭合的形式。 只不过后来为了迎合xml的写法,兼容了<img />这种自闭合形式的写法。 在用innerHTML获取元素html代码时,获取的是由dom对象重新生成的标准的html格式<img> 如果你原来的字符串不是标准的html格式,当然就不匹配了。
明白了!谢谢(*°∀°)=3
天际的海浪 2018-12-01
  • 打赏
  • 举报
回复
<img>本来就是只有单标签的形式,原本就不需要加/自闭合的形式。 只不过后来为了迎合xml的写法,兼容了<img />这种自闭合形式的写法。 在用innerHTML获取元素html代码时,获取的是由dom对象重新生成的标准的html格式<img> 如果你原来的字符串不是标准的html格式,当然就不匹配了。

2,100

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧