使用ajax get加载html,然后按标签查找特定内容

时间:2017-09-06 12:55:52

标签: jquery html ajax get element

我试图在我通过AJAX get。

加载的HTML中找到一个特定的URL

我试图使用下面的代码,但它返回undefined

var url_f_elem = $(html).find(".wb-bnr ~ a").html();

html在下面 - 我试图获取一个href内的url

<header role="banner">
<div id="wb-bnr" class="container">
    <section id="wb-lng" class="visible-md visible-lg text-right">
    <h2 class="wb-inv">Language selection</h2>
    <div class="row">
        <div class="col-md-12">
            <ul class="list-inline margin-bottom-none">
                <li>
                    <a lang="fr" href="/fr/ministere-defense-nationale/nouvelles/2017/09/la_construction_dunnouveaubatimentamelioreralentretiendevehicule.html">
                        Français

                    </a>
                </li>

            </ul>
        </div>
    </div>
</section>

3 个答案:

答案 0 :(得分:2)

首先wb-bnr是元素的id,而不是class,因此您应该使用#wb-bnr

其次,~运算符是一般的兄弟选择器,因为a不是#wb-bnr的兄弟,所以这里不合适。你可以删除它。

最后,要获取您需要获取href属性的URL,而不是元素的文本。试试这个:

var url_f_elem = $(html).find("#wb-bnr a").attr('href');

答案 1 :(得分:1)

您可以尝试这样

$(html).find("#wb-bnr a").attr('href');

您不必使用兄弟选择器。

$(&#34; prev~siblings&#34;)用于选择&#34; prev&#34;之后的所有兄弟元素。 element,拥有相同的父级,并匹配过滤&#34;兄弟姐妹&#34;选择。 https://api.jquery.com/next-siblings-selector/

示例代码段:

&#13;
&#13;
var url_f_elem = $('body').find("#wb-bnr a").attr('href');
console.log(url_f_elem);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<header role="banner">
<div id="wb-bnr" class="container">
    <section id="wb-lng" class="visible-md visible-lg text-right">
    <h2 class="wb-inv">Language selection</h2>
    <div class="row">
        <div class="col-md-12">
            <ul class="list-inline margin-bottom-none">
                <li>
                    <a lang="fr" href="/fr/ministere-defense-nationale/nouvelles/2017/09/la_construction_dunnouveaubatimentamelioreralentretiendevehicule.html">
                        Français

                    </a>
                </li>

            </ul>
        </div>
    </div>
</section>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

我认为如果你需要“Français”字符串,你需要这样做。

var url_f_elem = $('#wb-bnr').find('a').html().trim();

我认为你需要这样做以防你需要url attr。

var url_f_elem = $('#wb-bnr').find('a').attr('href');