Shopify正在将产品标签中的点切换为网址中的几乎所有位置。除了添加自定义过滤器时,它会使用点而不是破折号来拉取原始标记,这会在选择包含点的标记后进行过滤时生成404。
我想使用JQ在主网址之后找到并在网址中将点切换为破折号。 谷歌没有多大帮助。
所以,让我们说有一个ul
<ul>
<li><a href="http://www.whatever.com/something/tag.with></a></li>
<ul>
如何在jq的帮助下找到“something / tag.with”?
P.S。 如果有人可以指出我如何将那个点改为破折号 - 我非常感激。但只是找到它也会有很大帮助。
谢谢!
编辑:
<div class="collection-name">
<a href="/collections/wool/test.dot" title="Wool"><i class="check-icon"></i> Wool</a>
</div>
还有这个jquery
$(document).ready(function(){
$("div.collection-name a").each(function(){
this.href = this.href.replace('yarn/', '');
});
$("div.collection-name a").get(0).pathname.replace('.', '-');
})
我尝试添加另一个this.href = this.href.replace。没工作 图href仍然呈现为html://whatever.com等等,所以如上所述使用它。 所以,是的......这两个中的任何一个都没有工作
答案 0 :(得分:1)
首先获取TML所说的值,然后使用正则表达式模式调用string.replace方法
var oldurl = $('ul&gt; li&gt; a')。get(0).pathname; var newurl = oldurl.replace(/./ i,“ - ”);
替换行也应该如下所示(尽管未经过测试)
var newurl = oldurl.replace('。',' - ');
答案 1 :(得分:0)
只需使用常规jQuery选择器查找所需的标记,在该选择器的结果上调用get(0),然后从返回的pathname
获取属性element
。例如,您在此处提供的HTML只有一个标记,因此选择它非常简单:
$('a').get(0).pathname
显然,在一个更复杂的文档中,jquery选择器会比$(&#39; a&#39;)更详细。
更改所有文字&#39;。&#39; (点)进入&#39; - &#39; (破折号),只需使用普通的JS string replacement:
$("div.collection-name a").get(0).pathname.replace('.', '-')
工作正常,您可以从此答案中嵌入的示例代码段中看到;进一步的帮助将要求您解释所提供的内容未能满足您的期望。
console.log($("div.collection-name a").get(0))
$("#found").text( $("div.collection-name a").get(0).pathname.replace('.', '-') );
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<body>
<div class="collection-name">
<a href="/collections/wool/test.dot" title="Wool"><i class="check-icon"></i> Wool</a>
</div>
<div>Found the value: <div id="found"></div></div>
</body>
&#13;