首页 > 解决方案 > 如何在javascript中获取href的值

问题描述

我通过json将数据从控制器发送到javascript,json看起来像这样:

UsernameError: "<p>Username not valid, please</p><a href="www.google.com"> click here</a> <p>to validate it.</p>"

我将其转换为原始 html,使其看起来像:

UsernameError: "<p>Username not valid, please</p><a href="www.google.com"> click here</a> <p>to validate it.</p>"

当我试图获得我所拥有的东西href

 var href = $(decoded[0].innerText).attr('href');

即将到来undefined,但如果我只a在 json 中有标签,则在变量中设置 href 值。

如果我在 json 中有更多标签,知道为什么我无法获得 href 值吗?

标签: javascriptjqueryjson

解决方案


如果您真的想将内容处理为真正的 html 元素,您可以使用 jquery 创建一个虚拟 html 元素并使用 find-method 搜索 a-tag。

let decodedString = '<p>Username not valid, please</p><a href="www.google.com"> click here</a> <p>to validate it.</p>';

let htmlContent = $('<div/>').html(decodedString);
let href = htmlContent.find('a').attr('href');

console.log(href);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


推荐阅读