我有一个标签集,每个标签都有唯一的ID。并且每个选项卡中的上传按钮都有一个具有唯一className的函数。所以我想抓住哈希值来动态构建一个新的className。使用我构建的功能。
示例:
URL : www.myweb.com/upload.php#tab1
JS
var hash=location.hash;//grab hash = tab1
$('.upload_'.hash).uploadPic({//expect className= '.upload_tab1'
.
.
.
});
HTML
<button id="upload_tab1">Browse</button>
我已经尝试但由于某些原因它无法正常工作。没有错误,没有。请帮忙。
答案 0 :(得分:1)
正如其他人所提到的,您需要使用 import { HttpClient } from "aurelia-fetch-client";
import { autoinject } from "aurelia-framework";
import { TokenService } from "../tokenService";
@autoinject
export class Login {
http: HttpClient;
tokenService: TokenService;
heading = "Login";
constructor(tokenService: TokenService, http: HttpClient, ) {
this.tokenService = tokenService;
this.http = http;
}
public submitLogin(): void {
console.log("userName, Password", this. userName, this.password);
}
}
代替+
来连接JavaScript中的字符串。
但是,这仍然无法解决您的问题,因为.
返回的值包括片段前面的哈希(window.location.hash
)符号:
#
所以你需要去掉哈希标志:
const hash = window.location.hash; // value is "#tab1"
为了防止在未指定片段的情况下出现错误,您可能需要先检查是否存在哈希符号:
const hash = window.location.hash.substring(1); // value is "tab1"