Javascript 检查href是否未定义,是否为true警报smth(不带jQuery)
我想检查Javascript 检查href是否未定义,是否为true警报smth(不带jQuery),javascript,html,class,href,Javascript,Html,Class,Href,我想检查标记的“href”是否为空,如果为空,则应发出类似“站点不可用atm”的警报,如果链接正确,则不应执行任何操作 HTML 谢谢:)顾名思义,getElementsByClassName生成多个元素;它们的href属性组合永远不能等于空字符串。顾名思义,getElementsByClassName产生多个元素;它们的href属性的组合永远不能等于空字符串。getElementsByClassName返回元素的集合,您需要循环检查每个元素的href function testif(){
标记的“href”是否为空,如果为空,则应发出类似“站点不可用atm”的警报,如果链接正确,则不应执行任何操作
HTML
谢谢:)顾名思义,
getElementsByClassName
生成多个元素;它们的href
属性组合永远不能等于空字符串。顾名思义,getElementsByClassName
产生多个元素;它们的href
属性的组合永远不能等于空字符串。getElementsByClassName返回元素的集合,您需要循环检查每个元素的href
function testif(){
var links = document.getElementsByClassName("link");
for(var i = 0; i < links.length; i++) {
if (links[i].getAttribute("href") == ""){
alert('Site isn't available');
return;
}
}
}
函数testif(){
var links=document.getElementsByClassName(“链接”);
对于(变量i=0;i
getElementsByCassName返回元素的集合,您需要遍历每个元素以检查其href
function testif(){
var links = document.getElementsByClassName("link");
for(var i = 0; i < links.length; i++) {
if (links[i].getAttribute("href") == ""){
alert('Site isn't available');
return;
}
}
}
函数testif(){
var links=document.getElementsByClassName(“链接”);
对于(变量i=0;i
一种可能的方法是传入事件并检查事件
功能测试f(e){
//防止实际转到另一个url,请随意删除该行
e、 预防默认值();
//在IE 6-8支持的情况下
var target=e.target | | e.src元素;
如果(!target.getAttribute('href'))警报(“站点不可用”);
}
一种可能的方法是传入事件并检查事件
功能测试f(e){
//防止实际转到另一个url,请随意删除该行
e、 预防默认值();
//在IE 6-8支持的情况下
var target=e.target | | e.src元素;
如果(!target.getAttribute('href'))警报(“站点不可用”);
}
您可以通过
事件获取并测试单击的链接。目标
:
功能测试f(e){
e、 预防默认值();
target=e.target | | e.srcElement;//支持IE6-8
if(target.getAttribute(“href”)=“”){
console.log(“站点不可用”)
};
您可以通过
事件获取并测试单击的链接。目标
:
功能测试f(e){
e、 预防默认值();
target=e.target | | e.srcElement;//支持IE6-8
if(target.getAttribute(“href”)=“”){
console.log(“站点不可用”)
};
您的问题是什么?您的问题是什么?是否有其他方法解决此问题?:是否有其他方法解决此问题?:使用e时必须注意IE。target@B.Assem非常正确,但这适用于较旧的IE版本(6-8)。希望OP不必支持这么旧的内容。但是,我会将其添加到答案中。它不必支持旧版本^^将传递对链接元素本身的引用。@PatrickDenny使用事件来防止默认值,这样演示就不会转到正在使用的url,但这也会起作用。使用e时请注意IE。target@B.Assem非常正确,但这适用于较旧的IE版本(6-8)。希望OP不必支持这么旧的内容。但是,我会将其添加到答案中。它不必支持旧版本^^将传递对链接元素本身的引用。@PatrickDenny使用事件来防止默认值,这样演示就不会转到正在使用的url,但这也可以工作。
function testif(){
var links = document.getElementsByClassName("link");
for(var i = 0; i < links.length; i++) {
if (links[i].getAttribute("href") == ""){
alert('Site isn't available');
return;
}
}
}