javascript - 如何在 jquery/js 中用 response.data 替换括号 [] 之间的文本?
问题描述
如何更改 [] 与 response.data 对象之间的字符串我的代码如下:
var template = "<%= escape_javascript(eval(UserSetting.find_by_user_id_and_setting_name(User.current_user_id, 'own_user_grid_'+ grid_id).value)) %>"
模板输出如下所示:
<body><p>DocType: [document_summarize_doctype]</p><b>Author ID: [document_author]</b></body>
我现在将在每次使用 this.document_summarize_doctype 构建内容时更改内容[document_summarize_doctype]
:
$j.each(response.data, function() { $j('.own_content_overall').append('<div class="own_content">' + template + '<br><span style="border: 1px solid lightblue;"></div>');
});
有什么帮助吗?
谢谢
解决方案
使用此功能,我前段时间在 SO 上找到了它,它不是我的,但它可以完成工作:
var substitute = function(str , sub ) {
return str.replace(/\[(.+?)\]/g, function($0, $1) {
return $1 in sub ? sub[$1] : $0;
});
};
console.log(substitute('your are a [type_of_person]',{ type_of_person : 'good boiii'}))
// output : your are a good boiii
您的代码将是这样的:(如果括号中存在“item”键,则字符串将被替换)
$j.each(response.data, function(item) {
$j('.own_content_overall').append(substitute('<div class="own_content">' + template + '<br><span style="border: 1px solid lightblue;"></div>', item));
});
推荐阅读
- ios - AWS S3 分段上传在后台太慢 - iOS
- javascript - 为多模块角度应用程序创建路由
- java - JunitTest 在使用测试 Spring MVC 时抛出 InvocationTargetException
- javascript - 在javascript中调用祖父函数
- select - 表列不断变化时如何使用 Select INTO 语句?
- json - 需要帮助在 SWIFT 中解析 wikipedia json api
- java - 打印 pdf 时的 EXCEPTION_ACCESS_VIOLATION
- rabbitmq - cluster_formation.classic_config.nodes 对 rabbitmq 不起作用
- json - 将 json 整数反序列化为 long 会导致异常和空值,看似随机
- php - 自定义 wooCommerce rest api 响应