2017-05-11 64 views
0

我想更改div內的文本。我的問題是,這個Div(它是一個腳本的輸出,我無法更改源代碼)沒有id或一個獨特的類。在沒有ID和唯一類的某些div上選擇元素

現在我不知道如何選擇與jQuery文本「移動部分」股利div。

<div class="md-modal md-draggable md-show ui-draggable" id="md-editsection" style="max-width: 350px; z-index: 10002; top: 17.5px; left: 616.5px;"> 

    <div class="md-content"> 
     <div class="md-body" style="padding:0 30px 30px"> 
      <div class="md-modal-handle ui-draggable-handle" style="padding: 30px 30px 0px; cursor: move;"> 
      <div class="md-title" style="margin:0 0 12px;">Text</div> 
      </div> 
    <div class="clearfix"> 
    <div class="is-boxes"> 
     <div class="is-box-12"> 
     <div style="text-align:center;font-size:16px">Move Section</div> 
     </div> 
    </div>... 

我該怎麼做?

+1

爲['$( 「分區:包含( '移動科')」)'](http://api.jquery.com/contains-selector/)太明顯了一初始點? – nnnnnn

+0

如果我試試 - $(「div:contains(\'Move Section \')」)。text(「new text'」); - 整個佈局會崩潰 - 只有id爲「md-editscection」的div纔會生成幷包含新的文本值!? – 4usolutions

回答

0

試試這個

$('.md-modal .is-boxes:nth-child(2)')

+0

如果我嘗試「$(」。md-modal .is-boxes:nth-​​child(1)「).text(」newtext「);」,文本將被替換,但樣式信息將會丟失 - 爲什麼它是這樣嗎? – 4usolutions

0

您可以使用屬性等於選擇匹配元素的style屬性值,爲style屬性應爲其匹配的元素的值是唯一在html的問題。

document.querySelector("div[style='text-align:center;font-size:16px']") 
 
.textContent = 123;
<div class="md-modal md-draggable md-show ui-draggable" id="md-editsection" style="max-width: 350px; z-index: 10002; top: 17.5px; left: 616.5px;"> 
 

 
    <div class="md-content"> 
 
    <div class="md-body" style="padding:0 30px 30px"> 
 
     <div class="md-modal-handle ui-draggable-handle" style="padding: 30px 30px 0px; cursor: move;"> 
 
     <div class="md-title" style="margin:0 0 12px;">Text</div> 
 
     </div> 
 
     <div class="clearfix"> 
 
     <div class="is-boxes"> 
 
      <div class="is-box-12"> 
 
      <div style="text-align:center;font-size:16px">Move Section</div> 
 
      </div> 
 
     </div>...

0

你可以找到使用contains選擇專區內包含的內容。

$('div:contains("Move Section")').text("new text").css('background-color', 'red'); // Do what you want to do with div.
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 

 
<div class="md-body" style="padding:0 30px 30px"> 
 
    <div class="md-modal-handle ui-draggable-handle" style="padding: 30px 30px 0px; cursor: move;"> 
 
    <div class="md-title" style="margin:0 0 12px;">Text</div> 
 
    </div> 
 
</div> 
 

 
<div class="is-boxes"> 
 
    <div class="is-box-12"> 
 
    <div style="text-align:center;font-size:16px">Move Section</div> 
 
    </div> 
 
</div>

+0

如果我試試 - $(「div:contains(\'Move Section \')」)。text(「new text'」); - 整個佈局會崩潰 - 只有id爲「md-editscection」的div纔會生成幷包含新的文本值!? – 4usolutions

+0

您的html格式不正確。檢查你的html。一些div未像示例代碼那樣正確關閉的地方。查看工作片段的更新。 –

+0

還有更多divs在內外,也許它墜毀造成它們?在你的片段中,我錯過了第一個div容器「md-editsection」 – 4usolutions

相關問題