我正在尝试做这样的事情:
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
let str = "$('body').attr('data-uid','\(String(uid))');$('body').attr('data-pid','\(String(memberTypeId))');$('body').attr('data-baseurl','\(DataProvider.sharedInstance.baseUrl)');"
self.webView.evaluateJavaScript(str) { (id, error) in
print(error)
}
}
但我不知道如何正确地做到这一点。
答案 0 :(得分:3)
动态变量通常不是一种好习惯。你应该避免它们。一个更好的解决方案是创建一个包含它们的对象:
var obj = {};
for (var i = 1; i <= va; i++) {
obj["v" + i + "x"] = document.getElementById("v" + i + "x");
obj["v" + i + "y"] = document.getElementById("v" + i + "y");
obj["v" + i + "r"] = document.getElementById("v" + i + "r");
}
稍后,您可以访问以下元素:
console.log( obj["v1r"] ); // Node with id v1r reference
console.log( obj["v5x"] ); // Node with id v5x reference
答案 1 :(得分:0)
看起来您最好使用arrays:
var elements = []; // init to an empty array
for (var i = 1; i <= va; i++) {
elements[i] = []; // each array entry is itself an array
elements[i]['x'] = document.getElementById("v" + i + "x");
elements[i]['y'] = document.getElementById("v" + i + "y");
elements[i]['r'] = document.getElementById("v" + i + "r");
}
然后使用适当的索引检索您的值:
console.log(elements[1]['x']);