如何通过身体内容选择元素?

时间:2011-10-18 14:25:09

标签: jquery iframe

我的页面中有以下元素:

<u>abc123</u>

如何选择该元素并将其内容'abc123'更改为其他内容?

我实际上要做的是在<u></u>之间添加一个iframe。我知道这有点傻,但我对此有特殊要求。

第二个问题:是否可以将整个事物(<u>abc123</u>)替换为iframe,或者iframe标记必须介于<u></u>之间?

谢谢!

4 个答案:

答案 0 :(得分:2)

按内容过滤(示例):

$("u").filter(function(){
    return $(this).text() == "abc123";
}).html("<iframe>");

直接执行代码:

$("u").each(function(){
    var $this = $(this);
    if($this.text() == "abc123"){
        $this.html("<iframe>");
    }
})

如果您还要替换代码(.replaceWith()),请使用.html()代替<u></u>

.html()方法会覆盖元素的当前内容。如果要在不删除以前数据的情况下添加新信息,请使用.append()

答案 1 :(得分:0)

你可以用这种方式用iframe替换元素(这是直接的JavaScript,但你也可以在jQuery中这样做):

<u id="test"></u>

var e = document.getElementById('test');
var iFrame = [...];

e.parentNode.insertBefore(iFrame, e);
e.parentNode.removeChild(e);

由于

答案 2 :(得分:0)

您可以使用Text()函数为您添加内容。

$("u").text(yourText);

按内容选择元素

$("u").each(function(i) {
    if ($(this).text()=="abc123"){
     //do what you want
}
   });

答案 3 :(得分:0)

试试这个:

<强> JS

$("u").html('<iframe src="http://www.google.com" width="300" height="300">Alternative context</iframe>');