带有jquery的哈希值的动态类名

时间:2017-11-02 04:31:07

标签: javascript jquery hash

我有一个标签集,每个标签都有唯一的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>

我已经尝试但由于某些原因它无法正常工作。没有错误,没有。请帮忙。

1 个答案:

答案 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"