jQuery获取文档中的所有href url并截断或拆分它们
jQuery get all href urls in a document and truncate or split them
我快疯了。
我有一个ebay商店菜单,这是通过php动态创建的。
url如下:
http://stores.ebay.co.uk/somestore/Golf-Shoes-/_i.html?_fsub=3831075010
有几个这样的,由于某种原因我的分裂不工作,我试图删除最后一个斜杠之后的数据。
$('.MenuItem a:odd').each(function() {
var $href = $(this).attr('href');
$href.split('_')[1];
console.log($href);
});
根据我的逻辑,应该返回:http://stores.ebay.co.uk/somestore/Golf-Shoes-/
我在这里做了一个修改:http://jsfiddle.net/lharby/HA793/1/
我不能离得太远。为了验证这个理论,我也试过用其他角色来分裂,但似乎没有任何效果。我哪里做错了。
直接摘自MDN文档
与C等语言不同,JavaScript字符串是不可变的。这意味着一旦创建了字符串,就不可能修改它。但是,仍然可以基于类创建另一个字符串对原字符串的操作。
分割对正在分割的字符串没有影响。相反,将分割的第一部分分配给一个变量,如
var part = $href.split('_')[0];
你也可以使用最后一个斜杠作为你的参考点,像这样
var part = $href.substring( 0, $href.lastIndexOf( '/' ) + 1 );
这里的小提琴
试试这个:
$('.MenuItem a:odd').each(function () {
var href = this.href.split('_')[0];
console.log(href);
});
<<p> 小提琴演示/strong> - 使用
this.href
获取href - 用字符
'_'
分割href - 使用
split('_')[0]
获取数组的第一部分
你所缺少的只是一个赋值操作符
$href = $href.split('_')[0];
您需要将拆分操作的结果赋值给一个变量,以便稍后使用。
var href = $(this).attr('href');
href = href.split('_')[0];
console.log(href);
http://jsfiddle.net/HA793/5/另外,当结果实际上是一个jQuery对象时,我建议只使用$变量名前缀。
你应该把分割的结果赋值给变量$href:
$('.MenuItem a:odd').each(function() {
var $href = $(this).attr('href');
$href = $href.split('_')[0] + $href.split('_')[1];
console.log($href);
考虑使用这个函数:http://php.net/manual/en/function.parse-url.php
相关文章:
- 在javascript中使用split函数希望在页面加载时拆分url
- 使用jQuery或Javascript拆分URL
- javascript拆分URL超链接
- 如何修剪和拆分 URL 字符串
- 从位置拆分带有javascript的URL
- Javascript:从拆分字符串 url 加载多个图像
- 用于拆分 URL 和删除最后一部分的 JavaScript
- 过滤器上的Javascript拆分url
- javascript url拆分,用于在表单中手动输入url
- 从URL中拆分协议名称
- jQuery获取文档中的所有href url并截断或拆分它们
- 不拆分获取url参数
- 在Javascript/jQuery中,当值是可选的时候,如何将url拆分为键值对
- 拆分url导致firefox错误
- 根据环境拆分url
- Javascript拆分和url编码
- 拆分 URL 字符串以获取 javascript 中的每个参数值
- 使用谷歌闭包库将url打开到一个拆分面板中
- 如何拆分 url 并调用 javascript 函数
- 拆分URL两次