gpt4 book ai didi

javascript - 使用 jquery 或 javascript 删除部分属性值

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

div 有一个数据参数,如下所示:

<div data-params="[possibleText&]start=2011-11-01&end=2011-11-30[&possibleText]">
</div>

我想从该 data-params 属性中删除从 start 到第二个日期结束的 。在开始之前和第二个日期之后的日期之后可能有也可能没有文本。

如何使用 javascript 或 jQuery 完成此任务?我知道如何获取“data-params”属性的值以及如何设置它,我只是不确定如何从字符串中删除该部分。

谢谢!

注意:日期并不总是相同。

最佳答案

我会使用regular expression :

var text = $('div').attr('data-params');
var dates = text.match(/start=\d{4}-\d{2}-\d{2}&end=\d{4}-\d{2}-\d{2}/)[0]

// dates => "start=2011-11-01&end=2011-11-30"

正则表达式不太复杂。符号 \d 表示“匹配任何数字”,\d{4} 表示“完全匹配 4 位数字”。其余的都是文字字符。所以你可以看到它是如何工作的。最后,最后的 [0] 是因为 javascript match返回一个数组,其中第一个元素是整个匹配,其余元素是子组。我们没有任何子组,但我们确实想要整个匹配,因此我们只获取第一个元素,即 [0]

如果您想提取实际日期而不是完整的查询字符串,您可以通过在所需部分周围添加括号来创建子组来匹配,如下所示:

var dates = text.match(/start=(\d{4}-\d{2}-\d{2})&end=(\d{4}-\d{2}-\d{2})/)

// dates[0] => "start=2011-11-01&end=2011-11-30"
// dates[1] => "2011-11-01"
// dates[2] => "2011-11-30"

这里,dates[1] 是开始日期(基于括号的第一个子组),dates[2] 是结束日期(第二个子组)。

关于javascript - 使用 jquery 或 javascript 删除部分属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8349187/

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