javascript - 如何解析 JSON 响应中的第二个 HTML anchor 元素

标签 javascript jquery html

我有一个 JSON 响应,该响应正确返回,并且已在我的 HTML 页面上成功输入了其中的数据。然而,这个 JSON 值返回一些 HTML 代码,我不需要其中的全部代码,只需要第二个 anchor 元素。你们会怎么做?

下面的代码,上面的两个工作正常。 P 元素则不然。有任何想法吗?我只是在控制台中得到undefined

                // get photo url from description JSON value. 

                var imageURL = $(description).find('a')[ 1 ];
                var parseImageURL = $(imageURL).attr('href');


                // get author URL from description JSON value

                var authorURL = $(description).find('a')[ 0 ];
                var parseAuthorURL = $(authorURL).attr('href');


                // get photo description from descriptions JSON value

                var descriptionText = $(description).find('P')[5];
                console.log(descriptionText);

最佳答案

解析 HTML

您需要“解析”HTML。 (至少)有两种方法可以做到这一点:

DOMParser或者创建一个元素并将 HTML 字符串填充到其中。

下面的示例显示了第二种方法。

  1. 在我的示例中,我将一些字符串分配给 HTML,但您是在从 JSON 解析的某个对象中获取它。
  2. 创建一个元素。可以是任何旧元素,但我选择了 div
  3. 将 HTML 字符串分配给第 2 步中创建的元素的 innerHTML
  4. 使用querySelectorAll选择您想要的节点。在此示例中,我选择了所有 p 元素。
  5. 我只是注销了第二个 p,但在您的情况下,我假设您将其添加到页面

let HTML = "<p>something</p><p>else</p>";

let el = document.createElement('div');
el.innerHTML = HTML;

let ps = el.querySelectorAll('p');
console.log(ps[1]);

关于javascript - 如何解析 JSON 响应中的第二个 HTML anchor 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53329901/

相关文章:

javascript - 使用 createEvent 选择另一个元素后面的文本

PHP 与 HTML 文本区域

javascript - 如何为单个网页上的多个播放/暂停按钮制作单个 Javascript 脚本?

javascript - 使用 jquery 在最近的单元格 (td) 中查找元素?

javascript - HTML & jQuery - 需要下拉菜单来重叠元素

JQuery - .css ('display' ) 属性有问题

jquery - JCarousel - 使用 add() 添加的项目不响应 .click()

html - 水平 float 元素在 chrome 中被向下推,但在 firefox 中没有

javascript - 如何通过val()获取innerHTML

javascript - 如何在javascript中从数组中过滤出json对象