如何获取链接的名称“test.php”中的“test”?如何获得没有文件扩展名的链接名称?
我试图建立一个变量:
var linkname= this.href.substring(2);
我不知道substring()
如何工作。这是一种正确的方法吗?
谢谢。
UPDATE:
$(".nav").delegate("a", "click",function() {
var linkname = this.href.substr(0, (this.href.length - '.php'.length));
$("#claim"+linkname).fadeIn('slow').siblings().hide();
});
首先,感谢您的回答。但是我有错吗?这仍然不起作用。
也许是我的错:我也需要在开头删除一个“#”。
UPDATE三
这个完整的代码我工作:
$(document).ready(function(){
$("#claimone, #claimtwo, #claimthree").hide();
$("#claimone").show();
$(".nav").delegate("a", "click",function() {
var linkname = this.href.substr(0, (this.href.length - '.php'.length));
$("#claim"+linkname).fadeIn('slow').siblings().hide();
});
});
第二个函数生成 “#link.php”。所以我不知道它是不是碰撞。所有索赔都在index.php中。对于每个新加载的内容,我还想更改内容。链接如href =“one.php”,href =“two.php”,href =“three.php”。
$(function() {
var newHash = "",
$mainContent = $("#maincontent-wrapper"),
$pageWrap = $("#wrapper"),
baseHeight = 0,
$el;
$pageWrap.height($pageWrap.height());
baseHeight = $pageWrap.height() - $mainContent.height();
$(".nav").delegate("a", "click", function() {
window.location.hash = $(this).attr("href");
return false;
});
$(window).bind('hashchange', function(){
newHash = window.location.hash.substring(1);
if (newHash) {
$mainContent
.find(".maincontent")
.fadeOut(200, function() {
$mainContent.hide().load(newHash + " .maincontent", function() {
$mainContent.fadeIn(200, function() {
$pageWrap.animate({
height: baseHeight + $mainContent.height() + "px"
});
});
$(".nav a").removeClass("active");
$(".nav a[href="+newHash+"]").addClass("active");
});
});
};
});
$(window).trigger('hashchange');
});
这不是一个真正的解决方案,但它的工作原理。我只是给每个href一个.link类和每个声明的名称。
$(".link").click(function() {
var divname= this.name;
$("#claim"+divname).fadeIn(200).siblings().hide();
});
但这并不是我想要的。代码太多。现在,它不会同步到加载的内容淡入。最好是以某种方式组合两个淡入淡出。
最终解决
远处形成解决这个我设法它绑定到函数的第一个想法应该与有实际工作:
$claim
.find("#claim")
.fadeOut(200, function() {
$claim.show().load(newHash + " #claim", function() {
$claim.hide().fadeIn(200);
});
});
谢谢大家。了解更多关于旁边的子串!
你是什么意思的名字。是指attr或标签之间的文本。“没有结束”给出例子你问什么 – Gowri
我只是想从“test.php”中删除“.php”我不知道这是什么。 – Melros
定义“不起作用”。目前还不清楚你想要做什么。 'this.href'更可能是“http://example.com/test.php”,因此''#claim“+ linkname'将会是”#claimhttp://example.com/test“。在现代浏览器中使用'console.log(this.href)'和'console.log(linkname)'来了解发生了什么。 – six8