innerHTML里面的标签绑定事件

我们想要给innerHTML里的标签绑定事件的话,我想到的办法就是利用事件委托的方法,事件监听器会分析从子元素冒泡上来的事件,找到是哪个子元素的事件。

首先是我们要获得innerHTML里面的内容或者是给父元素绑定事件。


在下面的例子中比如 innerHTML中有一个img标签当我们点击img时console出他的属性


      <div class="contain-style" [innerHTML]="msg.content" (click)="bigPic(msg.content)"> //将innerHTML值输出到div中
      </div>

其次是事件处理函数

bigPic(msg,e){
e = e||window.event; //兼容IE8
let target = e.target||e.srcElement;  //判断目标事件
if(target.tagName.toLowerCase()=="img"){
console.log(target.src)
    }
}

在Selenium中,如果需要在Iframe内部添加`<p>`标签进行自动化操作,首先你需要定位到该Iframe元素。以下是一个基本步骤: 1. **找到并切换到IFrame**: 使用`switch_to.frame()`方法选择特定的IFrame,假设它的ID是`myFrame`: ```python driver.switch_to.frame(driver.find_element_by_id("myFrame")) ``` 2. **创建新的`p`标签对象**: Selenium Webdriver API并没有直接提供创建HTML标签的方法,所以你需要先获取`html`构造函数,然后拼接字符串来构建`<p>`标签: ```python new_p = driver.execute_script("return document.createElement('p')") ``` 3. **设置`p`标签属性** (如需内容): ```python new_p_text = "这是新添加的段落" new_p.innerHTML = new_p_text ``` 4. **将`p`标签添加到DOM**: 要将`<p>`添加到页面上,通常会将其添加到文档的body或者其他合适的父节点,也可以通过JavaScript动态插入: ```python body = driver.find_element_by_tag_name("body") # 或者找到合适的父节点 body.append(new_p) ``` 5. **最后记得从IFrame切换回顶层窗口**: ```python driver.switch_to.default_content() ``` 完整示例: ```python from selenium import webdriver driver = webdriver.Firefox() # 选择浏览器 driver.get("your_url") # 打开包含IFrame的页面 # ...其他页面交互... driver.switch_to.frame(driver.find_element_by_id("myFrame")) # 切换到IFrame new_p = driver.execute_script("return document.createElement('p')") new_p_text = "这是新添加的段落" new_p.innerHTML = new_p_text body = driver.find_element_by_tag_name("body") body.append(new_p) driver.switch_to.default_content() # 回到顶层窗口 # 结束测试 driver.quit() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值