我想知道是否可以仅使用href的开头来执行函数,例如:
我有以下href ...
<a class="title" href="example-1.html"></a>
...并希望做到以下几点:
var href = document.querySelector('.title').getAttribute('href');
window.onload function(){
if (href === "example/./.html"){
/* do something */
}
}
OR
var href = document.querySelector('.title').getAttribute('href');
window.onload function(){
of (href.beginsWith === "example"){
/* do something */
}
}
我不知道他们是否接近可能的事情,但希望他们能够了解我想做什么。请只有Vanilla JavaScript谢谢。
提前致谢!
答案 0 :(得分:3)
是的,您可以轻松获取href
属性的值(就像您一样 - 并且您想要attr,而不是属性;属性将被扩展为其完整形式)并使用{{3 }},或startsWith
与startsWith
结合使用,或正则表达式:
var href = document.querySelector('.title').getAttribute('href');
window.onload = function(){
if (href.startsWith("example")) { //
/* do something */
}
};
或if
可能是
if (href.startsWith("example") && href.endsWith(".html")) { //
或使用正则表达式:
if (/^example.*\.html$/i.test(href)) { //
我不建议等待load
事件,但在页面加载过程中它会发生非常。
另外,请确保在文档末尾的脚本代码中var href = document.querySelector('.title').getAttribute('href');
执行</body>
,就在结束=
代码之前。
另请注意上面的}
以及至少一个缺失的startsWith
。
最后:在ES2015中添加了endsWith
和using(WordprocessingDocument wDoc = WordprocessingDocument.Open(ms, true))
{
var gjenerimi = randomstring(14);
var body = wDoc.MainDocumentPart.Document.Body;
var lastParagraf = body.Elements<Paragraph>().FirstOrDefault();
var run = new Run();
run.AppendChild(new Text(DateTime.Now.ToString()));
run.AppendChild(new Text(gjenerimi));
run.AppendChild(new Text(merreshifren()));
lastParagraf.AppendChild(run);
}
,因此任何模糊的最新浏览器都应该拥有它们,但是(例如)没有IE版本(甚至不是IE11) 。如果您需要IE支持,上面的链接可以使用polyfill。
答案 1 :(得分:2)
您可以按属性搜索元素,这似乎正是您需要的。这将找到具有以example
var exists = document.querySelector("a[href^='example'") !== null;
if (exists) {
/* do something */
}
或简而言之......
window.onload = function() {
if (document.querySelector("a[href^='example'") !== null) {
/* do something */
}
};
答案 2 :(得分:0)
您可以使用indexOf()
进行检查,请参阅工作示例:
var href = document.querySelector('.title').getAttribute('href');
console.log(href);
window.onload = function() {
if (href.indexOf("example") === 0) {
console.log("Found!");
}
}
<a class="title" href="example.html">sample link</a>
请注意,还有startsWith()
,但它在某些旧版浏览器中不起作用,而indexOf()
一直存在。