小编sch*_*zch的帖子

jQuery 将输入更改为具有完整属性和属性值的文本区域

我有以下几点:

<input type="text" id="tag_856_subfield_u_270150_676903" name="tag_856_subfield_u_270150_676903" value="http://www.test.com/2073-4441/8/1/23/pdf" class="input_marceditor noEnterSubmit" tabindex="1" size="67" maxlength="9999">
Run Code Online (Sandbox Code Playgroud)

我想通过使用以下 jquery 将文本输入类型更改为 textarea:

$('input[name^="tag_856_subfield_u"]').each(function () {
    var style = $(this).attr('style'),
    textbox = $(document.createElement('textarea')).attr('style', style);
    $(this).replaceWith(textbox);
});
Run Code Online (Sandbox Code Playgroud)

使用上面的 jquery,我得到了一个 textarea,但是文本框中已经存在的数据被删除并检查了 Google Chrome 中的元素,我只得到以下信息:

<textarea></textarea>
Run Code Online (Sandbox Code Playgroud)

jquery 有没有办法做我想做的事情,如下所示,这样我在我的特定用例中得到以下内容?输入 id 和输入名称是动态的,因此我使用了 input[name^="tag_245_subfield_b"]。我实际上是按照这个 stackoverflow 问题来实现我的用例:如何使用 jquery 将输入元素更改为 textarea。

<textarea cols="70" rows="4" id="tag_856_subfield_u_270150_676903" name="tag_856_subfield_u_270150_676903" class="input_marceditor" tabindex="1">http://www.mdpi.com/2073-4441/8/1/23/pdf</textarea>
Run Code Online (Sandbox Code Playgroud)

提前致谢和欢呼!

html javascript jquery input

3
推荐指数
1
解决办法
2021
查看次数

Python beautifulsoup - 获取由中断标记分隔的所有文本

我有以下表格:

<table width="100%" border="0" cellspacing="2" cellpadding="0">
                      <tbody><tr> 
                        <td class="labelplain">ANGARA, EDGARDO J.<br>ENRILE, JUAN PONCE<br>MAGSAYSAY JR., RAMON B.<br>ROXAS, MAR<br>GORDON, RICHARD "DICK" J.<br>FLAVIER, JUAN M.<br>MADRIGAL, M. A.<br>ARROYO, JOKER P.<br>RECTO, RALPH G.<br></td>
                      </tr>
                    </tbody></table>
Run Code Online (Sandbox Code Playgroud)

我可以使用下面的代码遍历 HTML 的这一部分:

soup.find('td', text = re.compile('Co-author\(s'), attrs={'class': 'labelplain'}).find_next('td')
coauthor = soup.find('td', text = re.compile('Co-author\(s'), attrs={'class': 'labelplain'}).find_next('td')
Run Code Online (Sandbox Code Playgroud)

我可以使用以下内容获取文本:

for br in coauthor.find_all('br'):
  firstcoauthor = (br.previousSibling)
  print (firstcoauthor)
Run Code Online (Sandbox Code Playgroud)

我想要得到的输出是所有文本的结果,然后用分号(;)分隔,如下所示:ANGARA, EDGARDO J.;ENRILE, JUAN PONCE;MAGSAYSAY JR., RAMON B.;ROXAS, MAR;GORDON, RICHARD “迪克” J.;弗拉维尔,胡安 M.;马德里加尔,马萨诸塞州;阿罗约,小丑 P.;莱克托,拉尔夫 G.

但上面的代码给了我如下结果:

ANGARA, EDGARDO J.
ENRILE, JUAN PONCE
MAGSAYSAY …
Run Code Online (Sandbox Code Playgroud)

python string replace beautifulsoup web-scraping

1
推荐指数
1
解决办法
1044
查看次数