jQuery的DOM操作

一、創(chuàng)建節(jié)點

以HTML創(chuàng)建新元素

var txt1="<p>Text.</p>";                                                    

以jQuery創(chuàng)建新元素

var txt2=$('<p></p>').text('text.');

以DOM創(chuàng)建新元素

var txt3=document.createElement("p");       
txt3.innerHTML="Text.";

二厦滤、插入節(jié)點

通過js的DOM操作只能插入插入jsDOM創(chuàng)建出來的標(biāo)簽,不能插入字符串類型和jq創(chuàng)建出來的標(biāo)簽。
操作函數(shù)有:append(),appendTo(),prepend(),after(),before():

//A.append(B):把B標(biāo)簽拼接在A標(biāo)簽內(nèi)部結(jié)尾的位置夺克。
                //參數(shù)可以傳遞任意多個標(biāo)簽參數(shù),會按照參數(shù)的傳遞順序把標(biāo)簽拼接進(jìn)文檔流中嚎朽。
                //jq中的標(biāo)簽拼接方法铺纽,可以把字符串類型、jq對象類型哟忍、DOM節(jié)點類型的標(biāo)簽拼接進(jìn)文檔流中狡门。
//              $(document.body).append(pTag1);
            
                //A.appendTo(B):把A標(biāo)簽添加到B標(biāo)簽中(把A拼接進(jìn)B的內(nèi)部結(jié)尾位置);
                //A必須是jq對象類型,B可以是DOM節(jié)點锅很,JQ對象其馏,標(biāo)簽字符串類型,但是避免
                //標(biāo)簽字符串參數(shù)爆安,因為向字符串中拼接標(biāo)簽叛复,標(biāo)簽會拼接失敗。
                
                //A.prepend(B):在A標(biāo)簽內(nèi)部的開始位置拼接B標(biāo)簽
                $(document.body).prepend(pTag1);
//              $(document.body).prepend(pTag2);
//              $(document.body).prepend(pTag3);
                
                //A.after(B):在A標(biāo)簽之后拼接B標(biāo)簽(AB是兄弟標(biāo)簽)
                $('p').after(pTag2);
                //A.before(B):在A標(biāo)簽之前拼接B標(biāo)簽(AB是兄弟標(biāo)簽)
                $('p').before(pTag3);
                
                $('p').each(function(index,elem){
                    console.log(index);
                    console.log(elem);
                });

三、包裹節(jié)點操作

//A.wrap(B):讓B標(biāo)簽當(dāng)做A標(biāo)簽的父級褐奥;如果A標(biāo)簽有多個咖耘,則每一個A標(biāo)簽都會有一個獨立的父級B
//              $('li').wrap('<ul></ul>');
                
                //A.wrapAll(B):讓B標(biāo)簽當(dāng)做A標(biāo)簽的父級;如果A標(biāo)簽有多個撬码,則每一個A標(biāo)簽都會有一個公用的
                //父級B儿倒;如果A的DOM結(jié)構(gòu)中混入了其他標(biāo)簽,會先把其他標(biāo)簽移在所有的A標(biāo)簽之后呜笑,然后再用B包裹义桂。
                $('li').wrapAll('<ul></ul>');
                
                //A.wrapInner(B):在A標(biāo)簽內(nèi)部,添加B標(biāo)簽蹈垢,讓B標(biāo)簽當(dāng)做A標(biāo)簽原來子標(biāo)簽的父級慷吊;A是爺爺級、
                //B是父級曹抬、原來A的子級變成孫子級溉瓶。

四、其他類型節(jié)點操作

刪除節(jié)點(remove()和detach()):

//remove():刪除調(diào)用該方法的標(biāo)簽谤民,并且會把該標(biāo)簽保存下來堰酿,以備后期拼接使用
                var tag=$('p').remove();
                console.log(tag);               
                $('button').click(function(){
                    alert('hehhehehe');
                });
                //var btn=$('button').remove();
                //刪除有事件函數(shù)的標(biāo)簽
                var btn=$('button').detach();
                //把刪除的增加回來
                $(document.body).append(btn);               
                //remove()和detach()刪除標(biāo)簽的區(qū)別:
                //remove()如果刪除具備事件函數(shù)的標(biāo)簽,則標(biāo)簽額事件函數(shù)會一同解除綁定张足,
把標(biāo)簽添加回來時触创,就沒有對應(yīng)的事件函數(shù)了
                //detach()如果刪除具備事件函數(shù)的標(biāo)簽,則只是在DOM結(jié)構(gòu)中把標(biāo)簽移除为牍,
該標(biāo)簽綁定的事件函數(shù)不會移除哼绑,把標(biāo)簽添加回來
                //事件函數(shù)照樣觸發(fā)。

復(fù)制節(jié)點(clone()):

//復(fù)制DOM樹中的標(biāo)簽碉咆,然后在添加在DOM樹中
//A.clone():拷貝DOM樹中的A節(jié)點抖韩,如果A節(jié)點有事件函數(shù),而且需要一起拷貝疫铜,則需要傳參:true
                var btns=$('button').clone();

清空節(jié)點(empty()):

//清空節(jié)點操作
                $('div').empty();

替換節(jié)點(replaceWith()和repalceAll()):

//替換節(jié)點
                $('a').replaceWith('<a>三生三世</a>');
                //A.repalceWith(B):用B標(biāo)簽替換A標(biāo)簽(頁面上顯示的是B標(biāo)簽)
                //A.repalceAll(B):用A標(biāo)簽替換B標(biāo)簽(頁面上顯示的是A標(biāo)簽)

五茂浮、屬性操作

用attr()獲取和設(shè)置元素屬性 ,removeAttr()來刪除元素屬性壳咕。
1席揽、獲取屬性和設(shè)置屬性

var $para=$("p");
var para_txt=$para.attr("title");//獲取屬性title的值
$("p").attr("title","your title");//設(shè)置屬性title的值為your title
$("p").attr({"title":"your title","name":"your name"});//為一個元素設(shè)置多個屬性

注意: jQuery中很多方法都是同一個函數(shù)實現(xiàn)獲取和設(shè)置的谓厘,例如 attr() 技能獲取屬性的值幌羞,也能設(shè)置屬性的值。類似的還有html()庞呕、text()新翎、height()程帕、width()、val()地啰、css()等方法愁拭。
2、刪除屬性

$("p").removeAttr("title");

removeProp()函數(shù)用于移除在當(dāng)前jQuery對象所匹配的每一個元素上指定的屬性亏吝。
window對象或DOM元素的一些內(nèi)置屬性是不允許刪除的岭埠,如果試圖刪除這些屬性,將會導(dǎo)致瀏覽器產(chǎn)生一個錯誤蔚鸥。jQuery首先會將該屬性的值賦為undefined惜论,并忽略掉瀏覽器生成的任何錯誤信息。

一般情況下止喷,你最好使用該函數(shù)來刪除一些自定義的屬性馆类,而不是內(nèi)置屬性。

請不要使用本函數(shù)來刪除DOM元素的本地屬性checked弹谁、selected和disabled乾巧。這將徹底刪除對應(yīng)的屬性,并且预愤,一旦刪除之后沟于,你無法再向該DOM元素重新添加對應(yīng)的屬性。請使用prop()函數(shù)將其設(shè)為false即可植康,例如:jQueryObject.prop(“checked”, false)旷太。

jQuery中attr和pop的區(qū)別:

在jQuery中,attr()函數(shù)和prop()函數(shù)都用于設(shè)置或獲取指定的屬性销睁,它們的參數(shù)和用法也幾乎完全相同供璧。

但不得不說的是,這兩個函數(shù)的用處卻并不相同榄攀。下面我們來詳細(xì)介紹這兩個函數(shù)之間的區(qū)別嗜傅。
[解析來自網(wǎng)絡(luò),點擊查看](http://www.365mini.com/page/jquery-attr-vs-prop.htm)

1檩赢、操作對象不同

很明顯,attr和prop分別是單詞attribute和property的縮寫违寞,并且它們均表示"屬性"的意思贞瞒。

不過,在jQuery中趁曼,attribute和property卻是兩個不同的概念军浆。attribute表示HTML文檔節(jié)點的屬性,property表示JS對象的屬性挡闰。

<!-- 這里的id乒融、class掰盘、data_id均是該元素文檔節(jié)點的attribute -->
<div id="message" class="test" data_id="123"></div>

<script type="text/javascript">
// 這里的name、age赞季、url均是obj的property
var obj = { name: "CodePlayer", age: 18, url: "http://www.365mini.com/" };
</script>
在jQuery中愧捕,prop()函數(shù)的設(shè)計目標(biāo)是用于設(shè)置或獲取指定DOM元素(指的是JS對象,Element類型)上的屬性(property)申钩;attr()函數(shù)的設(shè)計目標(biāo)是用于設(shè)置或獲取指定DOM元素所對應(yīng)的文檔節(jié)點上的屬性(attribute)次绘。

<!-- attr()函數(shù)針對的是該文檔節(jié)點的attribute -->
<div id="message" class="test" data_id="123"></div>

<script type="text/javascript">
// prop()函數(shù)針對的是該DOM元素(msg)自身的property
var msg = document.getElementById("message");
var $msg = $(msg);
</script>
當(dāng)然,在jQuery的底層實現(xiàn)中撒遣,函數(shù)attr()和prop()的功能都是通過JS原生的Element對象(如上述代碼中的msg)實現(xiàn)的邮偎。attr()函數(shù)主要依賴的是Element對象的getAttribute()和setAttribute()兩個方法暑竟。prop()函數(shù)主要依賴的則是JS中原生的對象屬性獲取和設(shè)置方式络它。

<div id="message" class="test" data_id="123"></div>
<script type="text/javascript">
var msg = document.getElementById("message");
var $msg = $(msg);

/* *** attr()依賴的是Element對象的element.getAttribute( attribute ) 和 element.setAttribute( attribute, value ) *** */

// 相當(dāng)于 msg.setAttribute("data_id", 145);
$msg.attr("data_id", 145);

// 相當(dāng)于 msg.getAttribute("data_id");
var dataId = $msg.attr("data_id"); // 145



/* *** prop()依賴的是JS原生的 element[property] 和 element[property] = value; *** */

// 相當(dāng)于 msg["pid"] = "pid值";
$msg.prop("pid", "pid值");

// 相當(dāng)于 msg["pid"];
var testProp = $msg.prop("pid"); // pid值
</script>
當(dāng)然,jQuery對這些操作方式進(jìn)行了封裝殿怜,使我們操作起來更加方便(比如以對象形式同時設(shè)置多個屬性)廉涕,并且實現(xiàn)了跨瀏覽器兼容泻云。

此外,雖然prop()針對的是DOM元素的property火的,而不是元素節(jié)點的attribute壶愤。不過DOM元素某些屬性的更改也會影響到元素節(jié)點上對應(yīng)的屬性。例如馏鹤,property的id對應(yīng)attribute的id征椒,property的className對應(yīng)attribute的class。

<div id="message" class="test" data_id="123"></div>
<script type="text/javascript">
var msg = document.getElementById("message");
var $msg = $(msg);

document.writeln( $msg.attr("class") ); // test
$msg.prop("className", "newTest");
// 修改className(property)導(dǎo)致class(attitude)也隨之更改
document.writeln( $msg.attr("class") ); // newTest
</script>
2湃累、應(yīng)用版本不同

attr()是jQuery 1.0版本就有的函數(shù)勃救,prop()是jQuery 1.6版本新增的函數(shù)。毫無疑問治力,在1.6之前蒙秒,你只能使用attr()函數(shù);1.6及以后版本宵统,你可以根據(jù)實際需要選擇對應(yīng)的函數(shù)晕讲。

3、用于設(shè)置的屬性值類型不同

由于attr()函數(shù)操作的是文檔節(jié)點的屬性马澈,因此設(shè)置的屬性值只能是字符串類型瓢省,如果不是字符串類型,也會調(diào)用其toString()方法痊班,將其轉(zhuǎn)為字符串類型勤婚。

prop()函數(shù)操作的是JS對象的屬性,因此設(shè)置的屬性值可以為包括數(shù)組和對象在內(nèi)的任意類型涤伐。

4馒胆、其他細(xì)節(jié)問題

在jQuery 1.6之前缨称,只有attr()函數(shù)可用,該函數(shù)不僅承擔(dān)了attribute的設(shè)置和獲取工作祝迂,還同時承擔(dān)了property的設(shè)置和獲取工作睦尽。例如:在jQuery 1.6之前,attr()也可以設(shè)置或獲取tagName液兽、className骂删、nodeName、nodeType等DOM元素的property四啰。

直到j(luò)Query 1.6新增prop()函數(shù)宁玫,并用來承擔(dān)property的設(shè)置或獲取工作之后,attr()才只用來負(fù)責(zé)attribute的設(shè)置和獲取工作柑晒。

此外欧瘪,對于表單元素的checked、selected匙赞、disabled等屬性佛掖,在jQuery 1.6之前,attr()獲取這些屬性的返回值為Boolean類型:如果被選中(或禁用)就返回true涌庭,否則返回false芥被。

但是從1.6開始,使用attr()獲取這些屬性的返回值為String類型坐榆,如果被選中(或禁用)就返回checked拴魄、selected或disabled,否則(即元素節(jié)點沒有該屬性)返回undefined席镀。并且匹中,在某些版本中,這些屬性值表示文檔加載時的初始狀態(tài)值豪诲,即使之后更改了這些元素的選中(或禁用)狀態(tài)顶捷,對應(yīng)的屬性值也不會發(fā)生改變。

因為jQuery認(rèn)為:attribute的checked屎篱、selected服赎、disabled就是表示該屬性初始狀態(tài)的值,property的checked交播、selected专肪、disabled才表示該屬性實時狀態(tài)的值(值為true或false)。

因此堪侯,在jQuery 1.6及以后版本中,請使用prop()函數(shù)來設(shè)置或獲取checked荔仁、selected伍宦、disabled等屬性芽死。對于其它能夠用prop()實現(xiàn)的操作,也盡量使用prop()函數(shù)次洼。

<input id="uid" type="checkbox" checked="checked" value="1">

<script type="text/javascript">
// 當(dāng)前jQuery版本為1.11.1
var uid = document.getElementById("uid");
var $uid = $(uid);

document.writeln( $uid.attr("checked") ); // checked
document.writeln( $uid.prop("checked") ); // true

// 取消復(fù)選框uid的選中(將其設(shè)為false即可)
// 相當(dāng)于 uid.checked = false;
$uid.prop("checked", false);

// attr()獲取的是初始狀態(tài)的值关贵,即使取消了選中,也不會改變
document.writeln( $uid.attr("checked") ); // checked
// prop()獲取的值已經(jīng)發(fā)生變化
document.writeln( $uid.prop("checked") ); // false
</script>

六卖毁、樣式操作

1揖曾、追加樣式
addClass()
首先在<style>標(biāo)簽里添加另一組樣式:

<style>
.high{
    font-weight:bold;
    color:red;
    }
.another{
        font-style:italic;/*斜體*/
        color:blue;
        }
</style>

原本代碼:<p class="high" title="">abc</p>
執(zhí)行:$("p").addClass("another");
此時 p的class為“high  another”
如果給一個元素添加了多個class值,那么就相當(dāng)于合并了他們的樣式亥啦;如果有不同的class設(shè)定了同一個樣式屬性炭剪,則后者覆蓋前者。

2翔脱、移除樣式

$("p").removeClass("high");

或者兩個都刪除:

`$("p").removeClass("high").removeClass("another");`
$("p").removeClass("high  another")奴拦;

移除所有class:$("p").removeClass();

3、切換樣式
toggleClass()控制樣式的重復(fù)切換届吁,如果類名存在就刪除错妖,類名不在就添加
若本來<p class="myclass"></p>,
jQuery語句為:$("p").toggleClass("another");
點擊切換樣式按鈕,則變成<p class="myclass another"></p>,
再點擊一次切換按鈕 疚沐,則又變成<p class="myclass"></p>
不斷點擊他就會在這兩種情況中來回切換暂氯。

4.判斷是否含有某個樣式
hasClass()判斷是否含有某個class 有返回true 沒有返回false
$("p").hasClass("another");

七亮蛔、設(shè)置和獲取HTML痴施、文本和值

1.html() 用來讀取或設(shè)置 某個元素中的HTML內(nèi)容,可用于XHTML文檔尔邓,不能用于XML文檔
示例:<p><strong>q</strong></p>
jQuery:$("p").html()
獲得的結(jié)果是:<strong>q</strong>
設(shè)置p元素的html代碼:$("p").html("<strong>p</strong>")

2.text() 用來讀取或設(shè)置某個元素的文本內(nèi)容

獲取內(nèi)容:$("p").text()
設(shè)置內(nèi)容:$("p").text("你最喜歡的水果是晾剖?")

3.val()方法 用來獲取或設(shè)置元素的值

$("p").val();
$("p").val("aaa");
另外,如果this是當(dāng)前的文本框梯嗽,則this.defaltValue是當(dāng)前選中文本框的默認(rèn)值
$("p").value(this.defaultValue);

另外齿尽,val()能使select(下拉列表框)、checkbox(多選框)和radio(單選框)相應(yīng)的選項被選中灯节,這在表單操作中經(jīng)常會用到循头。

HTML代碼:
 <select id="multiple" multiple="multiple" style="height:120px">
  <option selected="selected">選擇1號</option>
  <option >選擇2號</option>
  <option >選擇3號</option>
  <option >選擇4號</option>
  <option selected="selected">選擇5號</option>
  </select>

八、遍歷節(jié)點

1.children() 取得匹配元素的子元素集合炎疆,此方法只考慮子元素卡骂,不考慮其他后代元素。
示例HTML代碼:

<body>
  <p></p>
  <ul>
    <li></li>
    <li></li>
  </ul>
</body>

jQuery求子元素個數(shù):

var $body=$("body").children;
alert($body.length);//得到2

2.next() 取得匹配元素后緊鄰的同輩元素
根據(jù)上個html例子

$("p").next()得到的結(jié)果是:
<ul>
  <li></li>
  <li></li>
</ul>

3.prev() 得到匹配元素前面緊鄰的同輩元素

$("ul").prev()//得到結(jié)果為<p></p>

4.siblings() 取得匹配元素前后所有同輩元素

$("p").siblings()
//得到結(jié)果為:
<ul>
 <li></li>
 <li></li>
</ul>

6.closest() 取得最近的匹配元素

首先檢查當(dāng)前元素是否匹配形入,如果匹配則直接返回元素本身 全跨,如果不匹配則向上查找父元素,逐級向上查找匹配選擇器的元素亿遂,如果什么都沒有則返回一個空的jQuery對象(只返回匹配的第一個元素節(jié)點浓若,從自身的節(jié)點找起)

給點擊目標(biāo)最近的li元素添加紅色:

$(document).bind("click",function(e){
$(e.target).closest("li").css("color","red");
})

7.parent() 獲得每個匹配元素的父級元素渺杉,從指定類型的直接父節(jié)點開始查找,返回一個元素節(jié)點

8.parents() 獲得每個匹配元素的祖先元素 返回多個父節(jié)點

九挪钓、css操作

讀取和設(shè)置style對象的各種屬性
css()獲取元素的樣式屬性:$("p").css("color");
css()設(shè)置元素的單個樣式:$("p").css("color","red")
css(0設(shè)置元素多個樣式:
$("p").css({"fontsize":"30px","backgroundColor":"red"})
透明度設(shè)置為半透明$("p").css("opacity","0.5")
獲取元素高度:$("p").css("height")或者$("p").height()
設(shè)置元素高度:$("p").height(100)//如果是數(shù)字會自動轉(zhuǎn)化為px
注意:css()獲取的高度值與樣式的設(shè)置有關(guān)是越,可能得到“auto”,也可能得到“10px”之類碌上,但是height獲取的高度值是元素在頁面中的實際高度倚评,而且不帶單位,與樣式的設(shè)置無關(guān)馏予。
類似的還有width()

十天梧、元素定位

1.offset()  獲取元素在當(dāng)前視窗的相對偏移,其中返回的對象包含top和left兩個屬性吗蚌,向右為正腿倚,向下為正,只對可見元素有效,返回值 為object類型蚯妇。

var offset=$("p").offset();
var left=offset.left;
var top=offset.top;

2.position() 獲取元素相對于最近的一個position樣式屬性設(shè)置為relative或者absolute的祖父節(jié)點的相對偏移敷燎,返回對象有兩個屬性 top與left。

var position =$("p").position();
var left=position.left;
var top=position.top;

3.scrollTop()和scrollLeft()
獲取滾動條距離左端的距離和頂端的距離

var scrollTop=$("p").scrollTop();
var scrollLeft=$("p").scrollLeft();

也可以指定參數(shù)

$("textarea").scrollTop(300);
$("textarea").scrollLeft(300);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末箩言,一起剝皮案震驚了整個濱河市硬贯,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌陨收,老刑警劉巖饭豹,帶你破解...
    沈念sama閱讀 216,744評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異务漩,居然都是意外死亡拄衰,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,505評論 3 392
  • 文/潘曉璐 我一進(jìn)店門饵骨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來翘悉,“玉大人,你說我怎么就攤上這事居触⊙欤” “怎么了?”我有些...
    開封第一講書人閱讀 163,105評論 0 353
  • 文/不壞的土叔 我叫張陵轮洋,是天一觀的道長制市。 經(jīng)常有香客問我,道長弊予,這世上最難降的妖魔是什么祥楣? 我笑而不...
    開封第一講書人閱讀 58,242評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上荣堰,老公的妹妹穿的比我還像新娘床未。我一直安慰自己,他們只是感情好振坚,可當(dāng)我...
    茶點故事閱讀 67,269評論 6 389
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著斋扰,像睡著了一般渡八。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上传货,一...
    開封第一講書人閱讀 51,215評論 1 299
  • 那天屎鳍,我揣著相機(jī)與錄音,去河邊找鬼问裕。 笑死逮壁,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的粮宛。 我是一名探鬼主播窥淆,決...
    沈念sama閱讀 40,096評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼巍杈!你這毒婦竟也來了忧饭?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,939評論 0 274
  • 序言:老撾萬榮一對情侶失蹤筷畦,失蹤者是張志新(化名)和其女友劉穎词裤,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鳖宾,經(jīng)...
    沈念sama閱讀 45,354評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡吼砂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,573評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了鼎文。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片渔肩。...
    茶點故事閱讀 39,745評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖漂问,靈堂內(nèi)的尸體忽然破棺而出赖瞒,到底是詐尸還是另有隱情,我是刑警寧澤蚤假,帶...
    沈念sama閱讀 35,448評論 5 344
  • 正文 年R本政府宣布栏饮,位于F島的核電站,受9級特大地震影響磷仰,放射性物質(zhì)發(fā)生泄漏袍嬉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,048評論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望伺通。 院中可真熱鬧箍土,春花似錦、人聲如沸罐监。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,683評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽弓柱。三九已至沟堡,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間矢空,已是汗流浹背航罗。 一陣腳步聲響...
    開封第一講書人閱讀 32,838評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留屁药,地道東北人粥血。 一個月前我還...
    沈念sama閱讀 47,776評論 2 369
  • 正文 我出身青樓,卻偏偏與公主長得像酿箭,于是被迫代替她去往敵國和親复亏。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,652評論 2 354

推薦閱讀更多精彩內(nèi)容