我有这个HTML,来自id
的{{1}}是从PHP自动生成的。
li
我想将<ul>
<li id="1">content</li> //comment
<div id="will-append-to-li-id-1"></div> //parent comment
<li id="2">content</li>
<li id="3">content</li> //comment
<div id="will-append-to-li-id-3"></div> //parent comment
<li id="..">more content</li>
</ul>
移至div
并试用此方法:
li id="1"
这种方法很好,但$(document).ready(function () {
$("ul > li + div#will-append-to-li-id-1").appendTo("ul > li");
});
也转移到div
,li id="2"
等等。
如何使div仅移至li id="3"
?
更新
这个实际的HTML代码:
li id="1"
我想将<ul class="comment-list">
<li id="li-comment-1">
<div class="content-comment">comment text here</div>
</li>
<ol class="child-comment"> <!-- child from li-comment-1 -->
<div class="the-child-comment">parent comment text here</div>
</ol>
<li id="li-comment-2">
<div class="content-comment">comment text here</div>
</li>
<li id="li-comment-3">
<div class="content-comment">comment text here</div>
</li>
<ol class="child-comment"> <!-- child from li-comment-3 -->
<div class="the-child-comment">parent comment text here</div>
</ol>
</ul>
移至<div class="the-child-comment">
感谢。
答案 0 :(得分:1)
只需指定#1?
$(document).ready(function () {
$("ul > li + div#will-append-to-li-id-1").appendTo("ul > li#1");
});
修改:根据您的评论,尝试以下内容:
$(document).ready(function () {
$lis = $("ul > li");
$li = $($lis[0]); // to get the first li
$("ul > li + div#will-append-to-li-id-1").appendTo($li);
});
答案 1 :(得分:0)
这会将div
的所有ul
个li
移至上一个$(document).ready(function() {
$('ul div').each(function() {
$(this).appendTo($(this).prev('li'));
});
});
。
li
请注意,只允许ul
为$(document).ready(function() {
$('ul div').each(function() {
$(this).appendTo($(this).prev('li'));
});
});
的直接子项,因此最好修改生成无效HTML的PHP代码。
<强>段:强>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li id="1">content</li>//comment
<div id="will-append-to-li-id-1"></div>//parent comment
<li id="2">content</li>
<li id="3">content</li>//comment
<div id="will-append-to-li-id-3"></div>//parent comment
<li id="..">more content</li>
</ul>
func getRequest(token:String, url:String, callback:(NSDictionary) -> ()){
let request = NSMutableURLRequest(URL: NSURL(string: url)!)
request.HTTPMethod = "GET"
request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization")
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
data, response, error in
if data != nil && response != nil{
do{
let responseTest = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers) as? NSDictionary
if responseTest != nil{
let response:NSDictionary = responseTest!
callback(response)
}
} catch let error as NSError{
print("A JSON parsing error occured: \(error)")
}
} else {
callback(NSDictionary())
}
}
task.resume()
}
答案 2 :(得分:0)
这是您的答案,考虑对您的代码进行最少的更改:
<li id="1">content<div id="will-append-to-li-id-1"></div></li>
但为了使您的代码更清晰,首先不建议使用数字作为您的ID,所有浏览器都不支持此功能,但希望您在此处仅使用这些数字进行简化。 (确保你的id以字母开头)。
另外,你显示这个的方式不是.append()的工作方式,.append()实际上会在列表项中添加div,所以它看起来像这样:
.appendTo('ul > li:first-child');
如果您想要发生的是您在示例中显示的内容,那么您需要使用.insertAfter()代替。
您也可以使用
_