我想用jquery更改标记a
属性href
,但结果并不比我预期的好。
当我用href
更改attr
属性时出现问题:
$('#doc-menu > li > a').attr('href', '/?child=False');
$('#doc-menu > li > a + ul > li > a').attr('href', '/?child=True')
网址清理完全。但在查询?child=True
之前,我有另一个django网址。
<a href="{% url 'docs:nodes_detail' node.id %}" class="parent">{{ node.name }}</a>
此django url应该是jquery查询。
我需要这样的网址
35 /?child = True 就像这样
但是现在我已经完全清理了网址 /?child = True
有没有找到解决方案?
由于
答案 0 :(得分:0)
您可以通过附加到现有网址而不是替换它来实现此目的。你可以这样做:
$("#doc-menu > li > a").attr("href", function(i, href) {
return href + (href.indexOf('?') > -1 ? '&child=False': '?child=False');
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<ul id="doc-menu">
<li>
<a href="test1.html" >I'm without params</a>
</li>
<li>
<a href="test2.html?q=ihp" >I Have extra params</a>
</li>
</ul>
&#13;
在这里,appended
callback function
内attr
内的锚标记内的网址只有 type Results = List[(Operation[_], Any)] // ???
trait Operation[Out] {
type Result = Out
def apply(results: Results): Out
}
class SomeOp extends Operation[String] {
def apply(results: Results) = "foo"
}
class OtherOp extends Operation[String] {
def apply(results: Results) = results
.collectFirst { case (_: SomeOp, x: String) => x }
.getOrElse("") + "bar"
}
def applyAll(
ops: List[Operation[_]],
results: Results = Nil
): Results = ops match {
case Nil => results.reverse
case head :: tail => applyAll(tail, (head -> head(results)) :: results)
}
applyAll(List(new SomeOp, new OtherOp)).last._2 // foobar
个Any
答案 1 :(得分:0)
您可以获取当前网址,然后将字符串连接到结尾。
$request['description'] = strip_tags($request->description);