简体   繁体   English

如何将 HTML 元素的 innerText 作为 object 键传递?

[英]How can I pass an innerText of HTML element as object key?

So I have an API for movies, and I have a button which should display movies of particular genre when clicked.所以我有一个 API 用于电影,我有一个按钮,点击时应该显示特定类型的电影。 For example, button is something like this:例如,按钮是这样的:

<span>action</span>

And my API url looks something like this: https://api.themoviedb.org/3/discover/movie?api_key={api_key}&sort_by=popularity.desc&with_genres=80&page=4 And my API url looks something like this: https://api.themoviedb.org/3/discover/movie?api_key={api_key}&sort_by=popularity.desc&with_genres=80&page=4

So as you see, I should insert to with_genres param any other genre number, so I wrote a function for it:如您所见,我应该在 with_genres 参数中插入任何其他类型的编号,所以我为它写了一个 function :

function genreChoose(e){
        let genres = {
            action: 80
        }
        let url = new URL(lastUrl);
        url.searchParams.set('with_genres', genres.action)
        fetchURL(url);
    }

I made an object of genres, and when I click on genre <span> from above, it should pass innerText as object key, so a text in span and key in genres object are both "action".我制作了一个 object 的流派,当我从上面单击流派<span>时,它应该将 innerText 作为 object 键传递,因此 span 中的文本和流派中的键 object 都是“action”。 I guess doing it like url.searchParams.set('with_genres', genres.e.innerText) doesn't work, so I'm looking for a way to pass innerText of <span> as object value.url.searchParams.set('with_genres', genres.e.innerText)那样做是行不通的,所以我正在寻找一种将<span>的 innerText 作为 object 值传递的方法。

For example:例如:

 const button = document.querySelector('button'); function genreChoose(e) { let genres = { action: 80 }; let url = new URL('https://api.themoviedb.org/3/discover/movie'); url.searchParams.set('with_genres', genres[e.target.innerText]); console.log(url); } button.addEventListener('click', genreChoose);
 <button>action</button>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM