我有一个带有文字的链接,linebreak
和里面的图片。
<a title="title" href="#" class="mail">info@domain.de
<br><img src="img/icons/icon.png">
</a>
因此,为了在我使用的锚点内完成所有操作:
$('.mail').html();
现在我想排除这个只是为了获取info@domain.de:
<br><img src="img/icons/icon.png">
$('.mail').html();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a title="title" href="#" class="mail">info@domain.de
<br><img src="img/icons/icon.png">
</a>
我该怎么做?
答案 0 :(得分:5)
您可以使用text()
获取<a>
代码
var text = $('.mail').text();
console.log(text);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a title="title" href="#" class="mail">info@domain.de
<br><img src="img/icons/icon.png">
</a>
答案 1 :(得分:3)
在这种特定情况下,如果您只想要文字,请使用text
代替html
(可能使用.trim()
或$.trim(...)
) :
console.log($('.mail').text().trim());
&#13;
<a title="title" href="#" class="mail">info@domain.de
<br><img src="img/icons/icon.png">
</a>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
但是,在一般情况下,如果您想要包含的元素和您希望在此类情况下排除的其他元素,则可以制作clone
和remove
个:
console.log(
$('.mail').clone()
.find("br, img").remove()
.end()
.html()
);
&#13;
<a title="title" href="#" class="mail">info@domain.de
<br><img src="img/icons/icon.png">
<span>Suppose you wanted this span but not the <code>br<code> or <code>img</code>.</span>
</a>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
答案 2 :(得分:2)
使用.text()
代替.html()
$('.mail').text();
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a title="title" href="#" class="mail">info@domain.de
<br><img src="img/icons/icon.png">
</a>
&#13;