gpt4 book ai didi

javascript - 使用 jQuery 获取多个元内容值?

转载 作者:行者123 更新时间:2023-11-28 15:03:14 24 4
gpt4 key购买 nike

使用 jQuery 获取多个元标记值的最有效方法是什么?我在元标记中存储了一些值,我想通过 jQuery 读取这些值,然后传递给 ajax 调用或根据这些值对 UI 进行更改。我当前正在处理的代码库有这个...

params: {
ad_hash: $('meta[property=ad_hash]').attr('content'),
ad_id: $('meta[property=ad_id]').attr('content'),
ad_advertiser_id: $('meta[property=ad_advertiser_id]').attr('content'),
ad_subcategory_id: $('meta[property=ad_subcategory_id]').attr('content'),
ad_est_firstoccur: $('meta[property=ad_est_firstoccur]').attr('content'),
ad_est_lastoccur: $('meta[property=ad_est_lastoccur]').attr('content'),
ad_firstoccur: $('meta[property=ad_firstoccur]').attr('content'),
ad_lastoccur: $('meta[property=ad_lastoccur]').attr('content'),
ad_time: $('meta[property=ad_time]').attr('content'),
ad_timestamp: $('meta[property=ad_timestamp]').attr('content'),
ad_rating: $('meta[property=ad_rating]').attr('content'),
hostname: $('meta[property=hostname]').attr('content'),
user_clientip: $('meta[property=user_clientip]').attr('content'),
user_searchterm: $('meta[property=user_searchterm]').attr('content'),
user_voted: $('meta[property=user_voted]').attr('content'),
trans_recentlyaired: $('meta[property=trans_recentlyaired]').attr('content'),
trans_lastaired: $('meta[property=trans_lastaired]').attr('content'),
trans_on: $('meta[property=trans_on]').attr('content'),
trans_during: $('meta[property=trans_during]').attr('content'),
trans_tobeaired: $('meta[property=trans_tobeaired]').attr('content')
},

是否有比多次访问 dom 更有效的方法来获取多个元标记值?以下是我考虑过的一些替代解决方案...

  • 我可以通过添加 head 来限制范围:$('meta[property=ad_hash]', 'head').attr('content')
  • 我可以将所有值存储在单个 JSON 字符串中,但从元标记读取它时遇到了一些问题。
  • 有没有办法使用 $('meta') 存储与变量的匹配,然后访问其中的各个标签?

最佳答案

使用 JSON 字符串在大小方面会更有效,但本质上您只是解析 XML 数据。您可以循环遍历 meta 标记,以减少从 DOM 中选择的频率,并使代码更加动态:

var params = {};
$('head meta[property][content]').each(function() {
params[$(this).attr('property')] = $(this).attr('content');
});

关于javascript - 使用 jQuery 获取多个元内容值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40161683/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com