如何替换 js 对象中的文本



这是我的尝试:

  locationVar = {"xpath":".//*[text()="" + uniqueMenuItems[b] + ""]//following::*[@class="productControllers custom-product-ctrls"][1]/div/div/select"};
  optionLocator = locationVar.replace("select", "select/option");

但这抛出错误 locationVar.replace 不是一个函数。

如何告诉js对对象中的文本进行替换?.toString((.replace 可以将其更改为字符串然后替换它,但是我需要对象在替换后保持为 js 对象。

有没有适用于对象的 .replace(( 方法?

如注释中所述:在对象属性上使用replace,而不是对象本身。

var uniqueMenuItems = {a: 'foo', b: 'bar'};
var locationVar = {
    xpath: `.//*[text()="${uniqueMenuItems.b}"]//following::*[@class="productControllers custom-product-ctrls"][1]/div/div/select`
};
var optionLocator = {
    xpath: locationVar.xpath.replace("select", "select/option")
};
console.log(optionLocator.xpath); // logs: .//*[text()="bar"]//following::*[@class="productControllers custom-product-ctrls"][1]/div/div/select/option

相关内容

最新更新