javascript - 编辑多值属性 javascript 中的一个值

标签 javascript search attributes

我为内容系统设置了搜索功能。 用户能够发布和取消发布他的元素。 每个元素有2个关键字+条件状态=3个关键字进行搜索。

每个元素都有一个名为“data-meta”的属性,其中存储了三个关键字。

例如。

data-meta="banana blue public"

如果用户想要取消发布他的元素并将其设置为私有(private),我如何编辑最后一个值“public”?

最佳答案

无需实际更改存储这些值的方式,例如创建自定义属性,例如

data-keyone="banana" data-keytwo="blue" data-state="public"

您可以提取属性值,拆分它,修改第三个元素,连接它,然后将属性值设置为新字符串。

从这里开始:

<myelement id="example" data-meta="banana blue public">

拉取值:

var oElem = document.getElementById("example");
var strTemp = oElem.getAttribute("data-meta"); //javascript
var strTemp = $('myelement#example').attr('data-meta'); // jquery

拆分:

var astrVals = strTemp.split(" ");

修改第三个值:

astrVals[2] = "private";

重新加入:

strTemp = astrVals.join(" ");

然后再次设置该值:

$('myelement#example').attr('data-meta', strTemp); //jquery
oElem.setAttribute("data-meta", strTemp); // javascript

关于javascript - 编辑多值属性 javascript 中的一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50859522/

相关文章:

search - 使用搜索参数获取 Backbone 集合

c++ - 如何绑定(bind) C++ 公共(public)变量以在 lua 脚本中访问

windows - attrib -s -r -h/s/d 不被识别为内部或外部命令

javascript - 错误 : 'jQuery is not defined'

具有相同对象 ID 的 Ruby 变量

javascript - jQuery resize() 使用浏览器最大化按钮

ios - 不同实体中的核心数据搜索

spring-mvc - Spring MVC : flash attribute vs model attribute

javascript - 用 jquery 替换图像的 src

javascript - Google Analytics 用户 ID 返回 Uncaught ReferenceError : None is not defined when user is not logged | Python