首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从api url的(this) click事件中提取类名称

如何从api url的(this) click事件中提取类名称
EN

Stack Overflow用户
提问于 2019-05-07 22:53:52
回答 3查看 52关注 0票数 1

我有多个div来表示一个城市。我希望能够使用event.currentTarget (这)来选择一个元素,然后使用类名来填充API fetch url。做这件事最好的方法是什么?如果没有在相同的函数中使用,我如何捕获此信息以供后续使用?

这就是我要得到的.

代码语言:javascript
运行
复制
    jQuery.fn.init [div.city.seattle]
    0: div.city.seattle
    accessKey: ""
    align: ""
    assignedSlot: null
    attributeStyleMap: StylePropertyMap {size: 0}
    attributes: NamedNodeMap {0: class, class: class, length: 1}
    autocapitalize: ""
    baseURI: "http://127.0.0.1:5500/index.html"
    childElementCount: 0
    childNodes: NodeList [text]
    children: HTMLCollection []
    classList: DOMTokenList(2) ["city", "seattle", value: "city 
    seattle"]
    className: "city seattle"
    clientHeight: 0
    clientLeft: 0
    clientTop: 0
    clientWidth: 0
    contentEditable: "inherit"
    dataset: DOMStringMap {}

    function captureCitySelect() {
    $('.city').on('click', function(event) {
        const citySelection = $(this);
        console.log(citySelection);

        });
    }



  <div class="cities">
                <div class="city seattle">Seattle</div>
                <div class="city tacoma">Tacoma</div>
                <div class="city portTownsend">Port Townsend</div>
                <div class="city neahBay">Neah Bay</div>
            </div>

我想拉出城市名称类并将其插入到API调用中,以搜索该城市

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-05-07 23:00:11

您可以使用.attr('class')检索类,然后按空格对其进行标记,并获得第二个"1":

代码语言:javascript
运行
复制
  $('.city').on('click', function(event) {
    const citySelection = $(this).attr('class').split(' ')[1];
    console.log(citySelection);
  });
代码语言:javascript
运行
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="cities">
    <div class="city seattle">Seattle</div>
    <div class="city tacoma">Tacoma</div>
    <div class="city portTownsend">Port Townsend</div>
    <div class="city neahBay">Neah Bay</div>
</div>

票数 0
EN

Stack Overflow用户

发布于 2019-05-07 22:55:32

代码语言:javascript
运行
复制
<div class="city" data-city="seattle">Seattle</div>

不要使用类。要么使用数据元素并使用data('city')获取它,要么使用.text()获取城市。

票数 0
EN

Stack Overflow用户

发布于 2019-05-07 22:57:04

试试这个:

代码语言:javascript
运行
复制
function captureCitySelect(param) {
    console.log(param);
}

<div class="cities">
            <div class="city seattle" onclick="captureCitySelect(this.innerText)">Seattle</div>
            <div class="city tacoma" onclick="captureCitySelect(this.innerText)">Tacoma</div>
            <div class="city portTownsend" onclick="captureCitySelect(this.innerText)">Port Townsend</div>
            <div class="city neahBay" onclick="captureCitySelect(this.innerText)">Neah Bay</div>
        </div>
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56025337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档